在单独的服务器上将 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