首页 > 解决方案 > Laravel 5.8通过mailgun发送邮件不起作用

问题描述

我正在使用 Laravel 5.8,我也设置了我的 mailgun 并验证了我的子域

我可以通过 curl 发送邮件,但我不能通过 Laravel 应用程序发送邮件。

我的服务文件

'mailgun' => [
    'domain' => env('MAILGUN_DOMAIN', 'https://api.mailgun.net/v3/mg.*************.com'),
    'secret' => env('MAILGUN_SECRET', 'MY_MAILGUN_API_KEY'),
    'endpoint' => 'api.mailgun.net',
],

我的 .env

MAILGUN_SECRET=MY_MAILGUN_API_KEY
MAILGUN_DOMAIN=https://api.mailgun.net/v3/mg.*************.com

邮件文件夹中的我的邮件文件

<?php

namespace App\Mail;

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

class VisaBooking extends Mailable
{
use Queueable, SerializesModels;

public $visa;

/**
 * Create a new message instance.
 *
 * @return void
 */
public function __construct($visa)
{
    $this->visa = $visa;
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->from('mailgun@mg.********.com')
    ->subject('New Visa Request')
    ->markdown('mails.visa');
}
}

控制器

Mail::to('joshymajebi@gmail.com')->send(new VisaBookingMail(['created_at' => $now, 'updated_at' => $now, 'destinations_country' => $destinations_country, 'residence_country' => $residence_country, 'prefix' => $prefix, 'lastname' => $lastname, 'firstname' => $firstname, 'middlename' => $middlename, 'phone_number' => $phone_number, 'email' => $email, 'departing' => $d_date, 'returning' => $r_date, 'passport_number' => $passport_number, 'passport_expiry_date' => $p_date, 'passport_issuing_authority' => $passport_issuing_authority]));

我没有在收件箱或垃圾邮件中收到邮件,并且在我的 mailgun 日志中它没有显示。

标签: phplaravelemaillaravel-5.8mailgun

解决方案


推荐阅读