gpt4 book ai didi

php - 为什么 swiftmailer 在 yii2 中不显示发件人电子邮件?

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:39 25 4
gpt4 key购买 nike

我这里有个问题。我在我的网页中创建了一个 Contact 表单,其中包括:namesurnameemaildescription 。当我提交表单时,电子邮件会发送,但发件人电子邮件是我的电子邮件。 F.e:

http://imageshack.com/a/img922/801/eVyutz.png

my.email@gmail.com 显示的不是用户在表单中输入的电子邮件,而是我的。之后,当我单击 Reply 按钮 并回复一条消息时,我将其发送给自己。为什么?

这是我做的:

我的邮件程序:

        '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,
]);
}
}

还有我的模型函数:

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 变量会有问题。因为当我使用 setFromemail 时,它只显示我的电子邮件。

最佳答案

可能是你没有为 $this->email 分配正确的值(尝试检查这个,例如:使用 var_dump($this->email) 和 $this->name 和 $this->username)您可以使用在 param.php 中分配的适当参数

  <?php
return [
'adminEmail' => 'my_mail@my_domain.com',
];

.

public function sendEmail($email) 
{
return Yii::$app->mailer->compose()
->setTo($email)
->setFrom([\Yii::$app->params['adminEmail'] => $this->name." ".$this->surname])
// ->setFrom([\Yii::$app->params['adminEmail'] => 'try fixed test if $this->name and username not work'])
->setSubject($this->subject)
->setTextBody($this->text)
->send();
}

关于php - 为什么 swiftmailer 在 yii2 中不显示发件人电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com