2016-05-31 44 views
2

我试图在Laravel中发送一封非常基本的电子邮件,但发件人字段无法正常工作。它不是寄件人的寄信人地址,而是寄件人的地址和姓名。为什么我的“from”不能在Laravel中发送电子邮件?

我.ENV有

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=mypass; 
MAIL_ENCRYPTION=tls 

我的控制器有:

public function sendEmail(ShowingPageContactRequest $request) { 

    // email me custom email 
    $data = $request->all(); 

    Mail::send('emails.propertyemail', $data, function ($message) use ($data) { 
     $message->subject('Property Query from ' . $data['name']) 
      ->sender($data['email'], $data['name']) 
      ->from($data['email'], $data['name']) 
      ->to('[email protected]') 
      ->replyTo($data['email'], $data['name']); 
    }); 
} 

一个DD($数据)显示:

array:6 [▼ 
    "_token" => "ZSvuhAhkCetDFZOrQMtbDHBy2RfzECGFT03wixt3" 
    "MLSNumber" => "216003681" 
    "name" => "John Doe" 
    "email" => "[email protected]" 
    "phone" => "(239) 555-1212" 
    "comments" => "This is my comment or question." 
] 

所以,电子邮件是存在的,李四是那里。但是,当我检查我的电子邮件时,它说它来自John Doe,但是[email protected]

我的邮件配置文件,甚至有:

'from' => ['address' => null, 'name' => null], 
+2

我会猜测这是Gmail政策。您可以通过将回复地址设置为表单提交者的电子邮件来获得所需的效果。 –

+0

@JoshRumbut,让我接近,但问题仍然是它显示电子邮件中的John Doe <[email protected]>。点击回复将发送到他的电子邮件。 –

回答

0

加上你自己的回复,要显得那般接近,因为它会得到。

在Laravel 5,您可以添加评论,要使用$message->replyTo ($address, $name)

this答案,this支持页面,除非你添加的所有用户手动我不认为它会奏效。

其他电子邮件服务可以让你这样做,我认为SendGrid可以,如果我没有记错的话。

+0

而不是发布指向另一个答案的答案,只需将其留作评论并[标记问题](http://stackoverflow.com/help/privileges/flag-posts)供主持人关注。一旦你的信誉> 3000,你就可以[投票结束](http://stackoverflow.com/help/privileges/close-questions)作为重复。 – miken32

+0

@ miken32这个问题与通过Laravel使用GMAIL所做的不太一样。我已经添加了与我在答案中留下的评论有关的代码。 –

+0

这个问题也是如此,这清楚地解释了这是一个服务器端问题。客户使用的框架是不相关的。 – miken32

相关问题