首页 > 解决方案 > 在 laravel 7.x 中发送邮件时如何指定非全局名称

问题描述

我正在使用 laravel 7.x,mailgun 在我的本地环境中运行,一切似乎都运行良好。我希望能够在发送个人电子邮件时设置发件人“名称”。

在 Laravel 7.x 有关“配置发件人”的文档中,他们解释了如何发送电子邮件并指定“发件人地址”,但没有说明如何设置名称。

return $this->from('example@example.com')
            ->view('emails.orders.shipped');

他们还指定如何使用名称集设置全局发件人地址

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],

我希望能够发送一封电子邮件,我可以在其中设置多个名称,具体取决于我从应用程序的哪个部分发送。(例如,密码重置与使用通知不同)

什么不起作用_

下面的例子返回Swift_RfcComplianceException: Address in mailbox given [Test User <example@example.com>] does not comply with RFC 2822, 3.6.2

return $this->from('Test User <example@example.com>')
            ->view('emails.orders.shipped');

我还尝试使用全局方法中的数组语法,但这似乎对名称本身没有任何影响。

return $this->from([
    'address' => 'example@example.com',
    'name' => 'Test User'
])
->view('emails.orders.shipped');

是否可以使用此方法设置名称?

标签: laravel-7laravel-mail

解决方案


您应该使用以下语法:

$this->from('example@example.com','Example')->view('emails.orders.shipped');

我找不到合适的文档,但在 laravel 电子邮件中使用了类似的语法。


推荐阅读