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('[email protected]')
->view('emails.confirm');
}
}
送信したいメールアドレスをmailgunに追加しましたが、機能しません。私は何か間違ったことをしていますか、それともこれをデバッグする方法はありますか?
構成が間違っています:
'mailgun' => [
'domain' => env('sandbox1e...60.mailgun.org'),
'secret' => env('key-146...419'),
],
Env関数は、指定した名前の環境変数を探し、値を返します。これを環境変数の名前に変更して.envで定義するか、env関数を使用しないでください。
Esteban Garcia の答えは正しいですが、構成がどのように正確に表示されるかを示すコードスニペットで改善したいと思います。
あなたのconfig/services.php
、以下に示すように構成を残します。
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
],
あなたの.env
ファイル。ここで、実際のメールガン資格情報を定義します。
MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=sandbox1e...60.mailgun.org
MAILGUN_SECRET=key-146...419