laravel 5.3 sendgrid类别 [英] laravel 5.3 sendgrid categories

查看:82
本文介绍了laravel 5.3 sendgrid类别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在laravel 5.2中,它工作得很好,但是自从迁移到5.3之后,我在将类别发送到我的电子邮件中时遇到了问题。 $ c>公共函数build()
{
return $ this-> view('mail.enquiry')
-> getSwiftMessage()-> getHeaders()-> addTextHeader('X-SMTPAPI',json_encode(array( category => array(env('BUSINESS_NAME'))))))
-> subject('Website Enquiry')
-> ; to(env('MAIL_DEFAULT_TO_EMAIL'),env('MAIL_DEFAULT_TO_NAME'))
->从(env('MAIL_DEFAULT_FROM_EMAIL'),env('MAIL_DEFAULT_FROM_NAME'))
-> replyTo( \Request :: get('email'),\Request :: get('full_name'));
}

我收到此错误



Mailable.php 525行中的

  BadMethodCallException:
方法[getSwiftMessage]在可邮寄邮件上不存在。

此代码中的所有内容都可以正常工作,但是只要我添加以下行即可中断:

 -> getSwiftMessage()-> getHeaders()-> addTextHeader('X-SMTPAPI',json_encode(array( category  => array(env('BUSINESS_NAME')))))


解决方案

要实现目标,可以使用 withSwiftMessage()方法。



此方法采用回调方法,该回调方法将传递给 SwiftMessage 的实例:

 -> withSwiftMessage(function($ message){
$ message-> getHeaders()-> addTextHeader('X-SMTPAPI', json_encode(array( category => array(env('BUSINESS_NAME')))))));
})

所以您的方法应类似于:

 公共函数build()
{
return $ this-> view('mail.enquiry')
-> withSwiftMessage(function($ message){
$ message-> getHeaders()-> addTextHeader( 'X-SMTPAPI',json_encode(array( category => array(env('BUSINESS_NAME'))))));
})
-> subject('网站查询')
->至(env('MAIL_DEFAULT_TO_EMAIL'),env('MAIL_DEFAULT_TO_NAME'))
->从(env('MAIL_DEFAULT_FROM_EMAIL'),env('MAIL_DEFAULT_FROM_NAME'))
- > replyTo(\Request :: get('email'),\Request :: get('ful l_name’));
}

希望这会有所帮助!


In laravel 5.2 this worked just fine, but since migrating to 5.3 i'm having issues getting the category sent in my email.

public function build()
    {
        return $this->view('mail.enquiry')
            ->getSwiftMessage()->getHeaders()->addTextHeader('X-SMTPAPI', json_encode(array("category" => array(env('BUSINESS_NAME')))))
            ->subject('Website Enquiry')
            ->to(env('MAIL_DEFAULT_TO_EMAIL'), env('MAIL_DEFAULT_TO_NAME'))
            ->from(env('MAIL_DEFAULT_FROM_EMAIL'), env('MAIL_DEFAULT_FROM_NAME'))
            ->replyTo(\Request::get('email'), \Request::get('full_name'));
    }

i get this error

BadMethodCallException in Mailable.php line 525:
Method [getSwiftMessage] does not exist on mailable.

every thing in this code works fine, but breaks as soon as I add this line:

    ->getSwiftMessage()->getHeaders()->addTextHeader('X-SMTPAPI', json_encode(array("category" => array(env('BUSINESS_NAME')))))

解决方案

To achieve what you're after you can use the withSwiftMessage() method.

This method takes a callback which will be passed the instance of SwiftMessage:

->withSwiftMessage(function ($message) {
    $message->getHeaders()->addTextHeader('X-SMTPAPI', json_encode(array("category" => array(env('BUSINESS_NAME')))));
})

So your method would look something like:

public function build()
{
    return $this->view('mail.enquiry')
        ->withSwiftMessage(function ($message) {
            $message->getHeaders()->addTextHeader('X-SMTPAPI', json_encode(array("category" => array(env('BUSINESS_NAME')))));
        })
        ->subject('Website Enquiry')
        ->to(env('MAIL_DEFAULT_TO_EMAIL'), env('MAIL_DEFAULT_TO_NAME'))
        ->from(env('MAIL_DEFAULT_FROM_EMAIL'), env('MAIL_DEFAULT_FROM_NAME'))
        ->replyTo(\Request::get('email'), \Request::get('full_name'));
}

Hope this helps!

这篇关于laravel 5.3 sendgrid类别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆