使用laravel从地址发送电子邮件

时间:2015-03-02 22:14:21

标签: php email laravel-4

我已将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地址?

3 个答案:

答案 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>');