laravel电子邮件无法连接到邮件服务器

时间:2019-04-17 17:19:17

标签: php laravel email laravel-5

我试图在用户注册后从我的laravel应用发送电子邮件,但是在网络标签中,它一直给我这个错误,

"message": "Connection could not be established with host mail.i-scbank.com [ #0]

该应用托管在共享托管(面板)中

我尝试使用mailtrap并成功了,但是当我在邮件服务器上尝试该错误消息时,我什至创建了一个新的电子邮件帐户,但仍然无法正常工作,

这是我的.env代码

MAIL_DRIVER=smtp 
MAIL_HOST=mail.eloike.com
MAIL_PORT=587
MAIL_USERNAME=info@eloike.com
MAIL_PASSWORD=*****
MAIL_FROM_ADDRESS=info@eloike.com
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="Stones"

这是我的config / mail.php代码

<?php
return [
    'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'markdown' => [
        'theme' => 'default',
        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
];

请问我在做什么错,我该如何发送电子邮件

3 个答案:

答案 0 :(得分:0)

您必须将mail.eloike.com更改为stmp.eloike.com

答案 1 :(得分:0)

端口可能已被防火墙阻止,或者访问受到限制。

您可以执行端口映射以检查:

nmap -p 587 -T4 -v -Pn mail.eloike.com
[...]
PORT    STATE    SERVICE
587/tcp filtered submission

已过滤意味着nmap并不真正知道端口状态是什么,因为某些东西正在过滤流量。

您也可以尝试以openssl作为客户端进行连接:

openssl s_client -connect mail.eloike.com:587

我有这个输出:

connect:errno=11

这意味着连接被拒绝。

有关更多信息,您必须与您的提供商联系,或更改邮件!!

答案 2 :(得分:0)

SMTP端口587是STARTTLS端口,而不是TLS。这意味着:

  • 与邮件服务器的初始连接未加密(明文)
  • 邮件服务器应在其问候邮件中宣传STARTTLS,并且
  • 客户端在问候语中看到STARTTLS,应在发送凭据或任何其他数据之前发出STARTTLS命令以启动加密连接。

尝试立即建立加密连接将失败,例如:

$ openssl s_client -4 -host mail.eloike.com -port 587
CONNECTED(00000003)
140052717310400:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:252:
# ...

尝试建立使用STARTTLS升级的未加密连接将成功,例如:

$ openssl s_client -4 -host mail.eloike.com -port 587 -starttls smtp
CONNECTED(00000003)
# ...
250 HELP

您需要在cPanel上阅读以了解它是否可以支持传出的STARTTLS连接(我知道它可以支持传入的连接)。