php laravel email无法连接到邮件服务器

ni65a41a  于 2023-09-29  发布在  PHP
关注(0)|答案(4)|浏览(126)

我尝试在用户注册后从我的laravel应用程序发送电子邮件,但它一直在网络选项卡中给我这个错误,

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

应用程序托管在共享主机(cpanel)中
我尝试与mailtrap和它的工作,但当我尝试与我的邮件服务器,我得到了错误信息,我甚至创建了一个新的电子邮件帐户,但它仍然没有工作,
这是我的.env代码

MAIL_DRIVER=smtp 
MAIL_HOST=mail.eloike.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=*****
MAIL_FROM_ADDR[email protected]
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', '[email protected]'),
        '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'),
        ],
    ],
];

请问我做错了什么,我如何才能使电子邮件发送

velaa5lx

velaa5lx1#

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

k97glaaz

k97glaaz2#

端口可能被防火墙阻止,或者访问受到限制。
您可以执行端口Map以检查:

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

filtered意味着nmap并不真正知道端口状态是什么,因为某些东西正在过滤流量。
您也可以尝试使用openssl作为客户端连接:

openssl s_client -connect mail.eloike.com:587

我有这样的输出:

connect:errno=11

这意味着连接被拒绝。
如需了解更多信息,请联系您的供应商,或更改邮件!

cgfeq70w

cgfeq70w3#

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

  • 到邮件服务器的初始连接未加密(明文)
  • 邮件服务器应在其greeating消息中通告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连接(我知道它可以支持传入连接)。

bnlyeluc

bnlyeluc4#

尝试运行php artisan tinker,然后

Mail::raw('Hello World!', function($msg) {$msg->to('[email protected]')->subject('Test Email'); });

看看你得到的错误是什么。
我遇到了一种情况,我没有得到好的错误信息,直到我做了上面的。然后我得到了一个适当的错误消息,我可以做一些事情。
注意:如果您对.env文件进行了任何更改,请始终确保运行php artisan config:cache

相关问题