yii2 - 无法使用 Swiftmailer 和 Yii2 嵌入图像

标签 yii2 swiftmailer

我正在尝试使用 swiftmailer 在我的电子邮件中嵌入图像,但它没有嵌入其中。我已经尝试了论坛中提供的所有解决方案,但仍然无法使其工作。下面是我的代码。请注意,我可以在模板中添加 HTML 内容,但只有图像未嵌入其中。

$message = Yii::$app->mailer->compose('registration', ['imgN'=>'\Yii::getAlias('@webroot/assets/image.png')]);

return $message->setFrom($from)->setTo($to)->setSubject(self::$subject)->send();

我也尝试过使用:

i) 'imgN'=> Yii::getAlias('@web/assets/image.png'),
ii) 'imgN'=>Yii::getAlias('@app/assets/image.png'),
iii)'imgN'=> '@app/web/assets/image.png',

View 中的代码:

 <?php
     use yii\swiftmailer\Message;
     $message = new Message;
    ?>

在 HTML 正文中:

    <img src="<?= $message->embed($imgN); ?>" alt="No Image"/>

请指出我可能犯的任何错误? 这将是一个很大的帮助。 谢谢!

最佳答案

尝试

$message = Yii::$app->mailer->compose();
$message->setFrom($from);
$message->setTo($to);
$message->setSubject(self::$subject);
$message->setHtmlBody(Yii::$app->mailer->render('registration', [
    'img' => $message->embed(\Yii::getAlias('@app/assets/image.png')),
], Yii::$app->mailer->htmlLayout));

return $message->send();

在 View 中:

<img src="<?= $img ?>">

关于yii2 - 无法使用 Swiftmailer 和 Yii2 嵌入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615392/

相关文章:

search - yii2 一个 GridView 的搜索正在影响其他 GridView

yii2 - 在执行任何 Controller 操作之前执行我的代码

php - 如何在 Yii2 中使用 swiftMailer

php - 使用 Swift Mailer 在电子邮件正文中发送 <a> 标记

php - 无法使用 gmail smtp 和 swift mailer 发送邮件

php - swiftmailer 文本/普通换行符?

mysql - 基于组的每个用户的 Yii2 RBAC 多重分配

javascript - Yii2 通过点击链接加载模态

php - 如何在 yii2 中与 mysql 数据库进行区分大小写的 where() 'in' 匹配

php - 如何通过谷歌分析知道有多少收件人打开了电子邮件?