邮件程序 [SMTP] 未定义。当我在 laravel 7 发送电子邮件时
Mailer [SMTP] is not defined. when I am sending email in laravel 7
我第一次在 Laravel 7 中看到这个问题时遇到了问题。
InvalidArgumentException: Mailer [SMTP] is not defined. in file /home1/clinicph/clinic/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php on line 110
这是我的 .env 文件
MAIL_MAILER=SMTP
MAIL_HOST=mail.clinicphase.com
MAIL_PORT=465
MAIL_USERNAME="info@clinicphase.com"
MAIL_PASSWORD=********
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS="info@clinicphase.com"
MAIL_FROM_NAME="${APP_NAME}"
这是我的控制器,
Mail::send('emails.contact_us', [
'name' => $request->name,
'email' => $request->email,
'subject' => 'Message from website',
'mobile_number' => $request->mobile_number,
'visitor_msg' => $request->message
], function ($message) use ($data, $site_email) {
$message->from($data['email']);
$message->to($site_email);
$message->subject('Message from website');
});
如果您查看 config/mail.php
文件,您会看到设置了哪些邮件程序。
默认情况下 Laravel 7,它有一个 smtp
邮件程序:
https://github.com/laravel/laravel/blob/7.x/config/mail.php#L37
邮件程序名称是 case-sensitive(就像任何其他配置一样)。因此,除非您更改了它,否则您需要在 .env 文件中使用 smtp
而不是 SMTP
。
我第一次在 Laravel 7 中看到这个问题时遇到了问题。
InvalidArgumentException: Mailer [SMTP] is not defined. in file /home1/clinicph/clinic/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php on line 110
这是我的 .env 文件
MAIL_MAILER=SMTP
MAIL_HOST=mail.clinicphase.com
MAIL_PORT=465
MAIL_USERNAME="info@clinicphase.com"
MAIL_PASSWORD=********
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS="info@clinicphase.com"
MAIL_FROM_NAME="${APP_NAME}"
这是我的控制器,
Mail::send('emails.contact_us', [
'name' => $request->name,
'email' => $request->email,
'subject' => 'Message from website',
'mobile_number' => $request->mobile_number,
'visitor_msg' => $request->message
], function ($message) use ($data, $site_email) {
$message->from($data['email']);
$message->to($site_email);
$message->subject('Message from website');
});
如果您查看 config/mail.php
文件,您会看到设置了哪些邮件程序。
默认情况下 Laravel 7,它有一个 smtp
邮件程序:
https://github.com/laravel/laravel/blob/7.x/config/mail.php#L37
邮件程序名称是 case-sensitive(就像任何其他配置一样)。因此,除非您更改了它,否则您需要在 .env 文件中使用 smtp
而不是 SMTP
。