在单独的服务器上将 Laravel 连接到 iRedMail

Posted

技术标签:

【中文标题】在单独的服务器上将 Laravel 连接到 iRedMail【英文标题】:Connecting Laravel to iRedMail on separate server 【发布时间】:2020-10-14 02:22:49 【问题描述】:

我已在 mail.rys.com 上设置了我的 iredmail 服务器(在此示例中为 ip 45.65.36.114)。我有一个在 rys.com 上运行 laravel 的网站。我还安装了让我们加密 - 每台服务器上都有单独的实例。我可以通过提供的电子邮件程序发送电子邮件并添加帐户,但我需要 laravel 来生成这些,并且很难验证

我尝试了许多示例,但都没有成功。我在 iredmail 方面没有更改任何内容,我可以从 admin@rys.com 帐户发送邮件,但不能通过 laravel 发送邮件

任何帮助将不胜感激。

问候,

彼得

配置:

MAIL_DRIVER=smtp
MAIL_HOST=45.65.36.114
MAIL_PORT=587
MAIL_USERNAME=admin
MAIL_PASSWORD=xxxxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=admin@rys.com
MAIL_FROM_NAME="admin@rys.com"

结果: Swift_TransportException (530) 预期响应代码为 250,但得到代码“530”,消息为“530 5.7.0 必须先发出 STARTTLS 命令”

配置:

MAIL_DRIVER=smtp
MAIL_HOST=45.65.36.114
MAIL_PORT=587
MAIL_USERNAME=admin
MAIL_PASSWORD=xxxxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=admin@rys.com
MAIL_FROM_NAME="admin@rys.com"

结果: stream_socket_enable_crypto(): 对等证书 CN=mail.rys.com' did not match expected CN=45.65.36.114'

配置:

MAIL_DRIVER=sendmail
MAIL_HOST=45.65.36.114
MAIL_PORT=587
MAIL_USERNAME=admin
MAIL_PASSWORD=xxxxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=admin@rys.com
MAIL_FROM_NAME="admin@rys.com"

结果: Swift_TransportException 预期的响应代码为 220,但得到的响应为空

配置:

MAIL_DRIVER=smtp
MAIL_HOST=45.65.36.114
MAIL_PORT=80
MAIL_USERNAME=admin
MAIL_PASSWORD=xxxxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=admin@rys.com
MAIL_FROM_NAME="admin@rys.com"

结果: 连接到 45.65.36.114:80 超时

【问题讨论】:

【参考方案1】:

通过将以下内容添加到邮件配置中,类似地解决了这个问题。答案在底部,但它在 Laravel 6 中完成了工作

how to fix stream_socket_enable_crypto(): SSL operation failed with code 1

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

【讨论】:

以上是关于在单独的服务器上将 Laravel 连接到 iRedMail的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 上将 DbVisualizer 连接到 HSQLDB

如何在 Mongoose 上将 MongoDB 连接到 Heroku?

在 Windows 上将 PHP 连接到 SQL Server

无法在 iOS 15 上将本机应用程序连接到后端

在 jenkins 上将 windows 7 slave 连接到 debian master 的问题

如何在 Linux 上将 MXQ-4K 安卓电视盒连接到 Android Studio