在laravel 5.7.29中的本地主机上,发送网格发送电子邮件失败

时间:2020-04-21 05:35:17

标签: laravel email sendgrid

我正在尝试使用sendgrid从本地主机发送电子邮件,软件包s-ichikawa 2.1.0,laravel 5.7.29,我收到此错误

客户端错误:POST https://api.sendgrid.com/v3/mail/send导致403 Forbidden响应:{“错误”:[{“消息”:“”发件人地址与验证的发件人身份不匹配。在此之前无法发送邮件错误(已截断...)*

相同的代码可用于API的其他项目,但可用于本地主机。

我的控制器代码:

$email = 'umermajeed93@hotmail.com';
$name  = 'Umer Majeed';
Mail::to($email)->send(new SendMailable($name ,$email))
<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use Sichikawa\LaravelSendgridDriver\SendGrid;

class SendMailable extends Mailable
{
    use Queueable, SerializesModels;
    use SendGrid;
    public $name;
    public $code;
    public $email;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($name,$email)
    {
        $this->name = $name;
        $this->email = $email;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {        
        $address = 'noreply@retailplatform.com';
        $subject = 'New Ad';

         return $this
            ->view('Admin.email')
            ->subject($subject)
            ->from($address)
            ->to([$this->email])
            ->sendgrid([
                'personalizations' => [
                    [
                        'substitutions' => [
                            ':myname' => 's-ichikawa',
                        ],
                    ],
                ],
            ])->with('name',$this->name);
    }
}

1 个答案:

答案 0 :(得分:0)

在测试环境中,只有电子邮件会发送到您在.env文件中设置的测试帐户:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=

在生产环境中,您已经可以将电子邮件发送给您选择的收件人,但是在本地服务器上您不能