在Yii2邮件中将<img/> src设置为url

时间:2017-01-27 07:01:57

标签: php email yii yii2

我正在Yii 2.0开展一个项目。我必须使用<img>标记向用户发送电子邮件,其中"src"属性设置为指向我服务器上的操作的网址(用于跟踪电子邮件,检查用户是否已将其打开)。我这样做:

$message = \Yii::$app->mail->compose()
                        ->setFrom([\Yii::$app->params['supportEmail'] => $usersurveyconfig->survey_email_from])
                        ->setTo($customers->email)
                        ->setSubject($usersurveyconfig->survey_email_subject);

$imageFileName = "http://www.myserver.com/frontend/web/index.php?r=site/myaction";
<img src="<?= $message->embed($imageFileName) ?>">

但是当我发送电子邮件时,会弹出此错误:

  

无法打开文件进行阅读   [http://www.myserver.com/frontend/web/index.php?r=site/myaction]

那么,我怎样才能做到这一点?任何想法?

1 个答案:

答案 0 :(得分:1)

如果图片是用于跟踪目的,那么您不应该嵌入它。因此,您的代码应该是:

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

对于嵌入,参数应该是要嵌入的文件的路径,例如

<img src="<?= $message->embed('../web/images/image.png') ?>"> 

有关详细信息,请参阅the docs