Laravel和Mailgun:传入电子邮件主题
问题描述:
我目前使用Mailgun在我的应用程序中检查收到的电子邮件。到目前为止,我可以获得收件人,发件人和电子邮件的正文;但不是主题。Laravel和Mailgun:传入电子邮件主题
$recipient = $request->input('recipient'); <-- Working
$sender = $request->input('sender'); <-- Working
$body = $request->input('body-html'); <-- Working
$subject = $request->input('subject'); <-- Not Working
我可以看到在消息报头中的主题:
$headers = $request->input('message-headers');
它返回以下:
[["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]"]]
这看起来是一个数组,但运行它通过is_array,返回false。我已经尝试
代码:
foreach($headers as $header) {
if($header[0] == 'Subject') {
$subject = $header[1];
}
}
return $subject;
RETURNS:()提供的foreach ErrorException无效参数
答
$subject = null;
foreach ($data as $header) {
if ($header[0] == 'Subject') {
$subject = $header[1];
break;
}
}
也许'消息headers'是JSON字符串。在使用foreach之前,先使用'json_decode'。 – Jerodev