我已将mail.php配置文件配置为使用gmail帐户发送电子邮件。 一切看起来都不错,但是当我尝试从另一个帐户发送电子邮件(而不是mail.php配置文件中使用的地址)时,我会从配置文件中设置的地址收到一封电子邮件。
Mail::send('emails.contact_mail', array(
'email' => $fromEmail,
'name' => $user,
'subject' => $subject,
'message' => $message_content,
), function($message)use ($fromEmail,$user,$subject) {
$message->to('s111@gmail.com');
$message->from('test@gmail.com', $user);
$message->subject($subject);
});
似乎$message->from
不起作用。我从s111@gmail.com
文件中设置的地址收到mail.php
个电子邮件,而不是来自test@gmail.com
。
有什么解决方案吗?如何更改from
地址?
答案 0 :(得分:1)
您仍将使用配置文件中设置的SMTP服务器。设置另一个'来自'标题在理论上是可行的,但GMail SMTP将忽略它,除非您设置已添加到您的Google帐户的地址。
解决方案:要么不使用其他'来自'地址,或将该地址添加到您的Google帐户。
答案 1 :(得分:1)
我认为这是这个问题的最佳解决方案。 我们可以弄清楚如下: $ message-> from('sender@email.com','sender_name'); 我们还应该删除config / mail.php中的以下代码块。
'from' => [
'address' => 'sender@email.com',
'name' => 'sender_name',
],
当然,这将适用于Laravel Framework。
答案 2 :(得分:0)
您可以尝试以下几种方法:
$message->replyTo('test@gmail.com', $user);
根据我的理解,电子邮件中的“发件人:”标题是应该确定它将作为发件人显示的内容。这可能适用于更改“发件人”标题:
$message->getHeaders()->addTextHeader('From', 'Your Name <test@gmail.com>');