Laravel和Mailgun无法正常工作

时间:2017-04-18 13:11:36

标签: php mysql laravel eloquent mailgun

在生产版本之前,我使用mailtrap来测试我的电子邮件,一切都像它应该的那样,但今天我将我的网站上传到公共服务器并决定使用mailgun,我知道它不像mailtrap.io那么简单,但仍然。无论如何,我验证了我的帐户,现在每月可以发送10k封电子邮件。还不错,但问题是,当我尝试发送电子邮件时,我收到电子邮件已发送的通知,但任何收件箱中都没有电子邮件。

我的.env文件

MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=myEmail
MAIL_PASSWORD=myPassword
MAIL_ENCRYPTION=tls

我的services.php文件

返回[

'mailgun' => [
    'domain' => env('myDomain'),
    'secret' => env('secretKey'),
],

'ses' => [
    'key' => env('SES_KEY'),
    'secret' => env('SES_SECRET'),
    'region' => 'us-east-1',
],

'sparkpost' => [
    'secret' => env('SPARKPOST_SECRET'),
],

'stripe' => [
    'model' => App\User::class,
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

];

其中一项功能:

public function store(StoreListingContactFormRequest $request, Area $area, Listing $listing){

        Mail::to($listing->user)->queue(
            new ListingContactCreated($listing,
                $request->name,
                $request->email,
                $request->number,
                $request->message
            )
        );
        return back()->withSuccess("Teie sõnum on edukalt saadetud firmale {$listing->user->name}");
    }

另一个:

public function __construct()
    {
        $this->middleware(['auth']);
    }

    public function index(Area $area, Listing $listing){
        return view('listings.share.index', compact('listing'));
    }

    public function store(StoreListingShareFormRequest $request, Area $area, Listing $listing){

        collect(array_filter($request->emails))->each(function($email) use ($listing, $request){
            Mail::to($email)->queue(
                new ListingShared($listing, $request->user(), $request->messages)
            );
        });

        return redirect()->route('listings.show',[$area, $listing])->withSuccess('Kuulutus on jagatud edukalt!');
    }

1 个答案:

答案 0 :(得分:1)

似乎错误就在这里

  

MAIL_USERNAME = myEmail

     

MAIL_PASSWORD = MYPASSWORD

MAIL_USERNAME不是您的电子邮件,而是来自您的域设置页面的默认SMTP登录。和MAIL_PASSWORD

的同一页面上的默认密码
  

'结构域' => ENV(' myDomain的&#39),

此处您需要输入的不是您网站的域名,而是您在mailgun上注册的域名,例如mg.exmaple.com