我正在尝试使用mailgun发送电子邮件,但它们无法发送,我也不知道为什么,因为我根本没有收到任何错误。
这是我的代码:
mail.php:
'driver' => env('MAIL_DRIVER', 'mailgun'),
services.php:
'mailgun' => [
'domain' => env('sandbox1e...60.mailgun.org'),
'secret' => env('key-146...419'),
],
EmailController.php:
public function send($email, $uuid = null)
{
if($uuid == null){
$uuid = User::get()->where('customer_email' , $email)->first()->email_confirmed;
}
return Mail::to($email)->send(new ConfirmEmail($uuid));
}
ConfirmEmail.php:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ConfirmEmail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $uuid;
public function __construct($uuid)
{
$this->uuid = $uuid;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('mailgun@sandbox1e17506823f2490ba9cc78cbbc2adb60.mailgun.org')
->view('emails.confirm');
}
}
我已经添加了要发送到mailgun中的emailadress,但是它不起作用。我是在做错什么,还是有什么办法可以调试呢?
最佳答案
您的配置错误:
'mailgun' => [
'domain' => env('sandbox1e...60.mailgun.org'),
'secret' => env('key-146...419'),
],
env函数使用您提供的名称查找环境变量,然后返回该值。您应该将其更改为环境变量的名称,然后在.env中定义它,或者不使用env函数,但这是不推荐的。