php - 电子邮件不会从 Laravel 发送到 Webmail
问题描述
我无法从我的 Laravel 实时项目向网络邮件帐户发送电子邮件。
我已配置所有可能的文件以发送电子邮件。
配置/邮件.php
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'sg2plcpnl0003.prod.sin2.secureserver.net '),
'port' => env('MAIL_PORT', 465),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@ezmoverandrental.com'),
'name' => env('MAIL_FROM_NAME', 'Test'),
],
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'sendmail' => '/usr/sbin/sendmail -bs',
.env
MAIL_DRIVER=mail //also tried with 'sendmail' and 'mail'
MAIL_HOST=sg2plcpnl0003.prod.sin2.secureserver.net
MAIL_PORT=587 //also tried with '645'
MAIL_USERNAME=info@ezmoverandrental.com
MAIL_PASSWORD='webmail_password'
MAIL_ENCRYPTION=ssl //also tried with 'tls'
'storage/log'
另一个有趣的部分是我的文件中没有错误显示。只是我在控制台中看到它返回'0'。
这是发送邮件的方法
public function sendMail($emailDataArray)
{
Mail::send('mail', $emailDataArray, function($message) use ($emailDataArray)
{
$message->to('info@ezmoverandrental.com')->subject('New Online Estimate');
$message->from('info@ezmoverandrental.com');
});
return;
}
这意味着我的项目已成功连接到 webmail,但不幸的是邮件没有发送。
我已经尝试过'sendmail'
并'mail'
开车
请任何人帮助。
解决方案
您的方法没问题,只需仔细检查值并确保 env 和 mail.php 中的邮件端口、驱动程序和 ENCRYPTION 值相同。
.env 文件
`MAIL_PORT=587
MAIL_DRIVER=smtp
MAIL_ENCRYPTION=tls`
邮件.php 文件
`'port' => env('MAIL_PORT', 587)
'driver' => env('MAIL_DRIVER', 'smtp')
'encryption' => env('MAIL_ENCRYPTION', 'tls') `
推荐阅读
- c# - 在 Visual Studio 中选择 .Net Framework 版本
- protractor - 如何使用 Protractor 确认 HTML5 验证消息?
- acumatica - 如何在自定义代码中更改记录的 id 键值
- javascript - 脚本声明中带有 runat="server" 的 jQuery 异常
- javascript - 无法从用于创建字符串排列数组的递归函数中返回数组的长度
- grafana - Grafana:选择变量时设置仪表板时间范围
- python - selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome 无法启动:使用 ChromeDriver Chrome 和 Selenium 异常退出
- hadoop - MapReduce 中的自定义动态分区
- javascript - 如何访问通过 Ajax GET 调用收到的对象?
- php - Laravel 资源路由命名前缀