【发布时间】:2017-05-13 11:24:36
【问题描述】:
我这里有问题。我在我的网页中创建了一个Contact 表单,其中包括:name、surname、email 和description。当我提交表单时,电子邮件会发送,但发件人的电子邮件是我的电子邮件。 F.e:
http://imageshack.com/a/img922/801/eVyutz.png
my.email@gmail.com 显示的不是用户在表单中输入的电子邮件,而是我的。之后,当我单击Reply button 并输入回消息时,我会将其发送给自己。为什么?
这是我所做的:
我的mailer:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'my.email@gmail.com',
'password' => 'password',
'port' => '465',
'encryption' => 'ssl',
'streamOptions' => [ 'ssl' =>
[ 'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
]
],
],
我的actionContact():
public function actionContact()
{
$model = new Contact();
$model->scenario = Contact::SCENARIO_CREATE;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
if ($model->sendEmail(Yii::$app->params['adminEmail'])) {
Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Success'));
}
else {
Yii::$app->getSession()->setFlash('error', Yii::t('app', 'Failed'));
}
return $this->refresh();
} else {
return $this->render('contact', [
'model' => $model,
]);
}
}
还有我的model function:
public function sendEmail($email)
{
return Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name." ".$this->surname])
->setSubject($this->subject)
->setTextBody($this->text)
->send();
}
请帮我解决这个问题,有什么问题吗?感谢您的帮助!
我猜$email 变量会有问题。因为当我使用setFrom 到email 时,它只显示我的电子邮件。
【问题讨论】:
标签: php yii2 swiftmailer