【问题标题】:Why isn't my "from" working sending email in Laravel? [duplicate]为什么我的“发件人”不能在 Laravel 中发送电子邮件? [复制]
【发布时间】:2016-09-30 00:33:21
【问题描述】:

我正在尝试在 Laravel 中发送一封非常基本的电子邮件,但“发件人”字段不起作用。它不是来自发件人的回邮地址,而是我的回邮地址和他们的姓名。

我的 .env 有

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=chris@listingnaples.com
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('chris@listingnaples.com')
            ->replyTo($data['email'], $data['name']);
    });
}

一个 dd($data) 显示:

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

所以电子邮件在那里,John Doe 在那里。但是,当我查看我的电子邮件时,它说它来自 John Doe,但来自 chris@listingnaples.com!

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

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

【问题讨论】:

  • 我猜这是 gmail 政策。通过将回复地址设置为表单提交者的电子邮件,您可能会获得所需的效果。
  • @JoshRumbut,这让我很接近,但问题仍然是它在电子邮件中显示了 John Doe 。不过,点击回复将发送到他的电子邮件。

标签: php laravel laravel-5 laravel-5.1


【解决方案1】:

添加您自己的回复似乎已经很接近了。

在 Laravel 5 中,您可以使用 $message->replyTo ($address, $name) 添加回复

请参阅this 答案和this 支持页面,除非您手动添加所有用户,否则我认为它不会起作用。

如果我没记错的话,其他电子邮件服务会允许您这样做,我认为 SendGrid 会这样做。

【讨论】:

  • 与其发布指向另一个答案的答案,只需将其作为评论和flag the question 留给版主注意。一旦您拥有 >3000 声望,您就可以将 vote for closure 作为副本。
  • @miken32 这个问题与通过 Laravel 使用 GMAIL 不太一样。我添加了与我在答案中留下的评论有关的代码。
  • 骗子也是如此,这清楚地说明这是一个服务器端问题。客户端使用的框架无关紧要。
猜你喜欢
  • 1970-01-01
  • 2016-05-02
  • 2016-09-18
  • 1970-01-01
  • 2023-03-23
  • 2022-06-27
  • 2015-10-09
  • 2015-03-27
  • 1970-01-01
相关资源
最近更新 更多