2016-08-02 33 views
2

Ich verwende derzeit Mailgun, um empfangene E-Mails in meiner Anwendung zu überprüfen. Bis jetzt kann ich den Empfänger, den Absender und den Körper der eMail erhalten; aber nicht das Thema.Laravel und Mailgun: Eingehende E-Mail Betreff

$recipient = $request->input('recipient'); <-- Working 
$sender = $request->input('sender'); <-- Working 
$body = $request->input('body-html'); <-- Working 
$subject = $request->input('subject'); <-- Not Working 

ich das Thema in der Nachrichtenkopfzeile sehen können:

$headers = $request->input('message-headers'); 

, die die gibt folgende:

[["Received", "by luna.mailgun.net with SMTP mgrt 8734663311733; Fri, 03 May 2013 18:26:27 +0000"], ["Content-Type", ["multipart/alternative", {"boundary": "eb663d73ae0a4d6c9153cc0aec8b7520"}]], ["Mime-Version", "1.0"], ["Subject", "Test deliver webhook"], ["From", "Bob <[email protected]>"], ["To", "Alice <[email protected]>"], ["Message-Id", "<[email protected]>"], ["X-Mailgun-Variables", "{\"my_var_1\": \"Mailgun Variable #1\", \"my-var-2\": \"awesome\"}"], ["Date", "Fri, 03 May 2013 18:26:27 +0000"], ["Sender", "[email protected]"]] 

Das sieht ein Array sein, aber es durch is_array läuft, gibt false zurück.

-Code, die ich versucht habe:

foreach($headers as $header) { 
    if($header[0] == 'Subject') { 
     $subject = $header[1]; 
    } 
} 
return $subject; 

RÜCKKEHR: Error Invalid argument für foreach geliefert()

+2

Vielleicht 'message-headers' ist ein JSON-String. Versuchen Sie es mit 'json_decode', bevor Sie es in der foreach verwenden. – Jerodev

Antwort

0
$subject = null; 
foreach ($data as $header) { 
    if ($header[0] == 'Subject') { 
     $subject = $header[1]; 
     break; 
    } 
}