首页 > 解决方案 > 电子邮件不会从 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'开车

请任何人帮助。

标签: phplaravelemaillaravel-5

解决方案


您的方法没问题,只需仔细检查值并确保 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') `

推荐阅读