使用 Yii2 在邮件中嵌入图像时出错


Error when embed image in mail using Yii2

我想在我的邮件正文中嵌入图像,我按照 http://www.yiiframework.com/doc-2.0/guide-tutorial-mailing.html 上的文档进行操作。

我在控制器中的代码如下所示:

$messages[] = Yii::$app->mailer->compose('downNotify', [
    'websiteList' => $websiteList,
    'logo' => Url::to('@web/mail/images/logo.png')
])

在邮件视图文件中:

<a href="#"><img width="100" src="<?= $message->embed($logo); ?>"></a>

但是当我运行它时,它给了我错误:

fopen(/WEBSITE_MONITOR/web/mail/images/logo.png):无法打开流:没有这样的文件或目录

路径有效,但我不知道为什么会出现此错误。有人有类似的问题吗?

> Yii 需要图像路径才能嵌入它,你应该简单地使用路径而不是 url

'logo' => Yii::getAlias('@app/web/mail/images/logo.png');