Php 如果使用邮件视图,是否必须在Yii 2邮件程序中设置HtmlBody/TextBody?
一直在阅读Php 如果使用邮件视图,是否必须在Yii 2邮件程序中设置HtmlBody/TextBody?,php,yii,yii2,Php,Yii,Yii2,一直在阅读yii2中的内容,注意到您可以在邮件视图中传递 例如: Yii::$app->mailer->compose([ 'html' => 'contact-html', 'text' => 'contact-text', ]); …以及使用邮件布局 但是,我的问题是,如果您的所有内容都将包含在视图中,那么以下内容的目的是什么: // Set body $mail->setHtmlBody($email_data['html_msg']); $
yii2
中的内容,注意到您可以在邮件视图中传递
例如:
Yii::$app->mailer->compose([
'html' => 'contact-html',
'text' => 'contact-text',
]);
…以及使用邮件布局
但是,我的问题是,如果您的所有内容都将包含在视图中,那么以下内容的目的是什么:
// Set body
$mail->setHtmlBody($email_data['html_msg']);
$mail->setTextBody($email_data['message']);
您还需要设置它们吗?这是如何工作的?我不明白您的问题,我必须仔细阅读 如果要使用HTML模板呈现和其他文本呈现,请执行以下操作:
Yii::$app->mail->compose(['html' => '@app/mail-templates/html-email-01', 'text' => '@app/mail-templates/mail'], [/*Some params for the view */])
->setFrom('from@me.com')
->setTo('someone@domain.com')
->setSubject('An email')
->send();
视图的路径也可以是相对的,就像在控制器内部一样
(例如,['html'=>'html-email-01'])
在你的帖子里你提到
Yii::$app->mailer->compose()
->setFrom('from@domain.com')
->setTo('to@domain.com')
->setSubject('Message subject')
->setTextBody('Plain text content')
->setHtmlBody('<b>HTML content</b>')
->send();
如果要使用邮件视图则仍需将正文和邮件设置为初始化以发送邮件message@unixmiah我们给他们设定了什么?空字符串?哦,好吧。。。。。。现在我有点困惑,因为你的评论和你的回答不一样哈哈。。。。。。因此,如果我使用的是视图,我不必对
setHtmlBody
或setxtbody
执行任何操作,对吗?对不起,我写的答案就像我在写代码一样。不,你没有。
$mail->setHtmlBody($email_data['html_msg']);
$mail->setTextBody($email_data['message']);