【问题标题】:Custom Email Headers in Laravel 4Laravel 4 中的自定义电子邮件标题
【发布时间】:2013-07-02 04:35:12
【问题描述】:

我似乎无法在 Laravel 4 docs/Email API 中找到可以向电子邮件添加自定义标头的方法。

例如:

Mail::send('emails.welcome', $data, function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
    $message->headers('X-Tags', 'tag1 tag2 tag3');
});

有谁知道如何做到这一点?

【问题讨论】:

    标签: laravel laravel-4 email-headers


    【解决方案1】:

    据我所知,如果不访问 Swift Mailer,就无法添加自定义标头。

    试试这样的。

    $message->getSwiftMessage()->getHeaders()->addTextHeader('X-Tags', 'tag1 tag2 tag3');
    

    它看起来并不漂亮,但通过查看应该可以解决问题的源代码。


    正如下面的 cmets 中所指出的,getSwiftMessage 方法不是必需的,因为我忽略了 Illuminate\Mail\Message 类上的 __call 魔术方法。

    $message->getHeaders()->addTextHeader('X-Tags', 'tag1 tag2 tag3');
    

    【讨论】:

    • getSwiftMessage() 方法,需要那个吗?我只用了$Message->getHeaders()->addTextHeader() 就得到了很好的结果
    • 啊,不需要。没有注意到那里触发 Swift_Message 类上的方法的魔法方法。我已经更新了我的答案。
    • +2 这太棒了!!!!!!!我将它与 Mandrill 无缝结合使用,可以提取电子邮件的统计信息,并且可以真正自定义电子邮件。 help.mandrill.com/entries/…
    猜你喜欢
    • 2011-03-06
    • 1970-01-01
    • 2018-01-07
    • 2020-11-18
    • 2017-10-20
    • 2020-11-20
    • 2021-01-05
    • 1970-01-01
    • 2013-06-04
    相关资源
    最近更新 更多