Laravel 4.2 不发送电子邮件正文中带有图像标签的电子邮件
Laravel 4.2 does not send email with image tags in the email body
以下代码运行良好:
Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1>', 'text/html');
});
// check for failures
echo Mail::failures() ? 'Failed to send' : 'Sent';
但是,当我将图像标签添加到电子邮件正文时,如下所示:
Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1> <img src="http://absolute_path_to_image">', 'text/html');
});
// check for failures
echo Mail::failures() ? 'Failed to send' : 'Sent';
片段 returns "Sent" 没有任何错误消息。我检查了日志文件,但一无所获。日志文件中没有任何信息。
该应用程序位于启用了 SSL 密钥的子域下,例如 https://secure.example.com。
请注意,该应用曾经在同一台服务器上运行,但在不同的子域下,如 https://secure.olddomain.com。我不确定是否与此有关。
如果您以前遇到过这个问题,请帮助并分享您的解决方案。
谢谢,
SAPNET
如果您在邮件正文中发送图片文件,您需要 embed
如下所示
\Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1> <img src="'. $message->embed('absolute_path_to_image') .'"> ', 'text/html');
});
这个对我有用:图像在电子邮件视图中声明
<img src="{{ $message->embed(public_path() . '/x/x.png') }}" alt="" />
来自 Laravel doc "A $message
variable is always passed to e-mail views, and allows the inline embedding of attachments."
希望对您有所帮助!
以下代码运行良好:
Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1>', 'text/html');
});
// check for failures
echo Mail::failures() ? 'Failed to send' : 'Sent';
但是,当我将图像标签添加到电子邮件正文时,如下所示:
Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1> <img src="http://absolute_path_to_image">', 'text/html');
});
// check for failures
echo Mail::failures() ? 'Failed to send' : 'Sent';
片段 returns "Sent" 没有任何错误消息。我检查了日志文件,但一无所获。日志文件中没有任何信息。
该应用程序位于启用了 SSL 密钥的子域下,例如 https://secure.example.com。
请注意,该应用曾经在同一台服务器上运行,但在不同的子域下,如 https://secure.olddomain.com。我不确定是否与此有关。
如果您以前遇到过这个问题,请帮助并分享您的解决方案。
谢谢, SAPNET
如果您在邮件正文中发送图片文件,您需要 embed
如下所示
\Mail::send([], [], function ($message) {
$message->to('example@gmail.com')
->subject('Test Subject')
->setBody('<h1>Hi, welcome user!</h1> <img src="'. $message->embed('absolute_path_to_image') .'"> ', 'text/html');
});
这个对我有用:图像在电子邮件视图中声明
<img src="{{ $message->embed(public_path() . '/x/x.png') }}" alt="" />
来自 Laravel doc "A $message
variable is always passed to e-mail views, and allows the inline embedding of attachments."
希望对您有所帮助!