Php 如何将yii2自定义表单字段响应发送到电子邮件
我在默认的基本Yii2模板中创建了一个额外的字段来收集网站地址。我一直试图通过电子邮件和其他回复一起发送回复 下面的代码控制此功能:Php 如何将yii2自定义表单字段响应发送到电子邮件,php,yii2,Php,Yii2,我在默认的基本Yii2模板中创建了一个额外的字段来收集网站地址。我一直试图通过电子邮件和其他回复一起发送回复 下面的代码控制此功能: public function contact($email) { if ($this->validate()) { Yii::$app->mailer->compose() ->setTo($email) ->setFrom([$this->email =
public function contact($email)
{
if ($this->validate()) {
Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject('Message from Website Contact Form')
->setTextBody($this->website)
->setTextBody($this->details)
->send();
return true;
}
return false;
}
我添加了->setTextBody($this->website)
,但它没有在电子邮件中显示该网站。我不知道->setTextBody
是否是正确的代码。
这是下面提供的内容:
消息ID:
日期:2019年3月23日星期六15:47:22+0100
主题:来自网站的信息联系表
发件人:倪怡
致:admin@example.com
MIME版本:1.0
内容类型:文本/纯文本;字符集=utf-8
内容传输编码:引用可打印
asmbdvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv=
bbbbbbbbbbbb
你知道我该怎么解决这个问题吗。我想使用
->setTextBody($this->website=>$this->details)
会起作用,但即使这样,我希望它们在不同的行/段落中分开,请注意,您要调用setTextBody
两次,这没有意义。
第一次调用设置的值将被第二次调用覆盖。
因此,您在消息中看到的只是$this->details
的内容,您没有看到$this->website
的内容也就不足为奇了
像这样设置文本正文setTextBody($this->website=>this->details)
也不起作用。首先,因为这是一个错误的php语法。即使您像这样修复它,setTextBody([$this->website=>$this->details])
,它也会失败,因为setTextBody
只需要纯文本作为输入
如果您希望
$this->website
和$this->details
都包含在单独的行中,请尝试这样做:setTextBody(“$this->website\r\n\r\n$this->details”)
注意,您要调用setTextBody
两次,这没有意义。
第一次调用设置的值将被第二次调用覆盖。
因此,您在消息中看到的只是$this->details
的内容,您没有看到$this->website
的内容也就不足为奇了
像这样设置文本正文setTextBody($this->website=>this->details)
也不起作用。首先,因为这是一个错误的php语法。即使您像这样修复它,setTextBody([$this->website=>$this->details])
,它也会失败,因为setTextBody
只需要纯文本作为输入
如果您希望$this->website
和$this->details
都包含在单独的行中,请尝试这样做:setTextBody(“$this->website\r\n\r\n$this->details”)