yii2 mailer 如何不自动使用 smtp gmail 用户名作为 "From" Header
yii2 mailer how to not automatically use smtp gmail username as "From" Header
我建了一个网站,里面有联系表格。我使用 yii2 邮件程序和 smtp gmail 设置来发送电子邮件。这是我的 smtp 设置:
'host' => 'smtp.gmail.com',
'username' => 'websendmail1234@gmail.com',
'password' => 'mysecretpassword',
'port' => '587',
'encryption' => 'tls',
'streamOptions' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],
这就是我在控制器中发送电子邮件的方式:
Yii::$app->mailer->compose()
->setFrom(["myemail@gmail.com" => "My Name"])
->setTo(['henry.gunawan.1985@gmail.com' => 'Henry'])
->setSubject("The Subject")
->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
->send();
发送成功,但是我查看邮件header发现了这个:
From: My Name <websendmail1234@gmail.com>
我要的是这个:
From: My Name <myemail@gmail.com>
如果我点击回复,它会回复 websendmail1234@gmail.com,这是我的 smtp gmail 设置的用户名,而不是 myemail@gmail.com
如何在我的发件人 header 中使用 myemail@gmail.com?
根据 this question,您必须将 setFrom
设置为索引数组并添加 setReplyTo
调用:
Yii::$app->mailer->compose()
->setFrom(["myemail@gmail.com", "My Name"])
->setReplyTo('myemail@gmail.com')
->setTo(['henry.gunawan.1985@gmail.com' => 'Henry'])
->setSubject("The Subject")
->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
->send();
Gmail 本身也可能只允许 from
发送经过验证的电子邮件地址,而不是随机地址。 Check here
我建了一个网站,里面有联系表格。我使用 yii2 邮件程序和 smtp gmail 设置来发送电子邮件。这是我的 smtp 设置:
'host' => 'smtp.gmail.com',
'username' => 'websendmail1234@gmail.com',
'password' => 'mysecretpassword',
'port' => '587',
'encryption' => 'tls',
'streamOptions' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
],
这就是我在控制器中发送电子邮件的方式:
Yii::$app->mailer->compose()
->setFrom(["myemail@gmail.com" => "My Name"])
->setTo(['henry.gunawan.1985@gmail.com' => 'Henry'])
->setSubject("The Subject")
->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
->send();
发送成功,但是我查看邮件header发现了这个:
From: My Name <websendmail1234@gmail.com>
我要的是这个:
From: My Name <myemail@gmail.com>
如果我点击回复,它会回复 websendmail1234@gmail.com,这是我的 smtp gmail 设置的用户名,而不是 myemail@gmail.com
如何在我的发件人 header 中使用 myemail@gmail.com?
根据 this question,您必须将 setFrom
设置为索引数组并添加 setReplyTo
调用:
Yii::$app->mailer->compose()
->setFrom(["myemail@gmail.com", "My Name"])
->setReplyTo('myemail@gmail.com')
->setTo(['henry.gunawan.1985@gmail.com' => 'Henry'])
->setSubject("The Subject")
->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
->send();
Gmail 本身也可能只允许 from
发送经过验证的电子邮件地址,而不是随机地址。 Check here