【发布时间】:2017-09-27 02:33:50
【问题描述】:
您好,我正在尝试制作一个可以使用yii/mail 发送电子邮件的表单,问题是我只能发送一个表单来成为文本正文,我已经编写了这样的模型:
class CareerForm extends Model
{
public $name;
public $email;
public $subject;
public $body;
public $verifyCode;
public $gender;
public function rules()
{
return [
[['name', 'email', 'subject', 'body','gender'], 'required'],
['email', 'email'],
['verifyCode', 'captcha'],
];
}
public function career($email)
{
if ($this->validate()) {
Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->body)
->send();
return true;
}
return false;
}
}
如何使用多个参数来
->setTextBody($this->body)
喜欢
->setTextBody($this->body,$this->gender)
因为我有几个text input 和radio list 要作为电子邮件发送,我该怎么做?
我对短信的期望是:
name
gender
variable 1
variable 2
variable n
总结 编辑=两个答案都是正确的,但我使用
public function career($email)
{
if ($this->validate()) {
Yii::$app->mailer->compose('filename.html' ,[
'email' => $this->email,
'name' => $this->name,
])
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject('career')
->send();
return true;
}
return false;}
感谢 Ankur Garg 和 Pratik Karmakar
【问题讨论】:
-
在调用之前准备邮件正文 ->setTextBody($this->body) 然后设置为 $this->body
-
如果说先准备邮件正文,那么如何将2个变量(正文和性别)合并为一个变量(正文)?
-
正文是一个字符串。试试这个 $this->body .= $this->gender;
-
这几乎是正确的,但是我如何添加空格或
来分隔每个表单(姓名、性别等)? -
您能否将您的期望作为普通文本粘贴到问题中。
标签: php yii yii2 sendmail yii-components