使用SMTP服务器发送自定义电子邮件地址时,Laravel出现错误

9
我有一个项目,其中一个模块可以从请求中发送电子邮件。我正在使用beautymail包提供的电子邮件模板。我可以使用Gmail帐户发送电子邮件,但是我收到来自客户的电子邮件有一个自定义电子邮件地址,就像这样xx.xxxxx@propnex.sg,他们说这个电子邮件是一个SMTP服务器。因此,我尝试在laravel的.env和其他配置文件中进行配置。但是,在发送时我遇到了这个错误Connection could not be established with host mail.propnex.sg :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number。有人能告诉我为什么会出现这个错误以及该怎么做才能解决这个问题吗?非常感谢。
.env配置
MAIL_DRIVER=smtp
MAIL_HOST=mail.propnex.sg
MAIL_PORT=587
MAIL_USERNAME=xx.xxxxx@propnex.sg
MAIL_PASSWORD=xxxxxxxx
MAIL_ENCRYPTION=ssl

Mail.php

   'from' => [
        'address' => 'xx.xxxxx@propnex.sg',
        'name' => 'Propnex',
    ],

    'reply_to' => ['address' => 'xx.xxxxx@propnex.sg', 'name' => 'Propnex'],

    'encryption' => env('MAIL_ENCRYPTION', 'tls'),


    'username' => env('MAIL_USERNAME'),

    'password' => env('MAIL_PASSWORD'),

    'port' => env('MAIL_PORT', 587),

    'driver' => env('MAIL_DRIVER', 'smtp'),

    'host' => env('MAIL_HOST', 'mail.propnex.sg'),
6个回答

10

我刚刚通过对我的.env和mail.php文件进行小改动来解决了这个问题。

MAIL_ENCRYPTION=""

'encryption' => env('MAIL_ENCRYPTION', ''),

告诉我,这种不安全/替代性答案的缺点是什么。我想要反馈。非常感谢。

1
对我来说,这是将MAIL_ENCRYPTION从ssl更改为tls。 - Lukáš Irsák

6

你正在使用SSL(MAIL_ENCRYPTION=ssl),因此需要在.env文件中更改MAIL_PORT=465。


6

SSL和TLS加密

TLS使用端口:587 SSL使用端口:465


1
你可能已经仔细检查了每一行代码,但问题出在mailtrap.io本身。如果你的配置实际上像下面这样。
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=31466861b7bXXX
MAIL_PASSWORD=fe2b6503618XXX
MAIL_ENCRYPTION=null

我使用了两个不同的框架来验证这个错误。检查SMTP凭据并尝试重置凭据。


0

在你的.env文件中
将这一行

'encryption' =>ssl
改为
'encryption' =>tls

并确保你的MAIL_FROM_ADDRESS有值。
这对于本地和服务器环境都有效。


0
You are setting mail encryption as tls in mail.php and on the other hand in the env file
you are setting it to ssl. Try setting it the same in both the files.

But i would recommend that you skip the certificate.
You can skip verification of the ssl certificate by using the code below in the mail.php file:

 'stream' => [
        'ssl' => [
            'allow_self_signed' => true,
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ],

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接