【问题标题】:Unable to open file for reading in Yii2 swift mailer无法在 Yii2 swift mailer 中打开文件进行阅读
【发布时间】:2016-12-11 08:28:14
【问题描述】:

我正在尝试在 yii2 中使用 swiftmailer 将图像嵌入到视图中,但它返回错误“无法打开文件进行读取”

这是我尝试过的 在模型中

public function sendAccountActivationEmail($user)
{
    return Yii::$app->mailer->compose('signup', ['user' => $user,
             'successimage' => Yii::getAlias("@web/uploads/siteimages/
                               emails/signup.png")])  //this is path to img

        ->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' colors'])
        ->setTo($this->email)
        ->setSubject('Account activation for ' . Yii::$app->name)
        ->send();
}

在我拥有的 signup.php 视图文件中

 <img src="<?= $message->embed($successimage); ?>">

我哪里出错了,我检查了This link,但提供了关于附加图像而不嵌入现有文件的线索。在Yii2 documentation 上,他们提供了上述方法,但无法正常工作

【问题讨论】:

  • 你能在常规视图中显示相同的图像吗??

标签: php yii2 swiftmailer


【解决方案1】:

您需要提供上传的完整路径而不是相对路径 因为这将被解释为相对于类文件 尝试打开您的附件Swift-mailer problem

您可以改用@webroot 来解决问题。

'successimage' => \Yii::getAlias("@webroot/uploads/siteimages/emails/signup.png")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-25
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    相关资源
    最近更新 更多