Laravel 4.2不会在电子邮件主体中发送带有图像标签的电子邮件



以下代码正常工作:

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';

摘要返回"已发送"而没有任何错误消息。我检查了日志文件,但什么也没有找到。日志文件或任何内容中都没有信息。

该应用程序在启用了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" $message变量总是传递给电子邮件视图,并允许附件的直列嵌入。"

希望这对您有帮助!

相关内容

  • 没有找到相关文章

最新更新