php - 使用 laravel 5.1 在实时服务器中发送电子邮件时遇到问题

标签 php email ssl smtp laravel-5.1

您好,我使用 Laravel 框架通过以下配置为我的网站设置了联系表单

MAIL_DRIVER=smtp
MAIL_HOST=smtp.netregistry.net
MAIL_PORT=465
MAIL_USERNAME= example@domain.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=ssl
MAIL_FROM= example@domain.com
MAIL_NAME= name

上面的配置在我的本地主机上工作正常,但是当我在实时服务器上尝试时它给我错误

Connection could not be established with host smtp.netregistry.net [Connection refused #111]

我尝试通过将邮件服务器更改为 smtp.gmail.com 来修复它,甚至尝试使用端口 25、465、587 进行加密,例如 ssl、tls、startTLS,但都没有用。

所以我联系了托管服务提供商并寻求帮助,经过 12 天的努力让他们解决我的问题,我终于想出了

our cloud infrastructure does not allow external smtp connections from our hosting. This means that if you are sending emails from your website you will need to use localhost as the smtp host setting.

所以现在我尝试将我的 MAIL_HOST 更改为 localhost,这给了我错误

Connection could not be established with host smtp.netregistry.net [Connection refused #0]

现在他们建议我的脚本有问题。有什么建议

最佳答案

这完全是来自您的主机的废话。首先,云系统通常会阻止 OUTGOING SMTP,因为这是一种垃圾邮件预防措施,但您的脚本没问题。您的主机可能会阻止端口 80 以外的所有内容,这意味着您根本无法连接到 SMTP 主机。您可以通过根本不使用 SMTP 来使用本地主机,并使用内置邮件程序(sendmail 很常见)。

MAIL_DRIVER=smtp 更改为 MAIL_DRIVER=mail 以使用 php 的内置邮件程序。这可能会解决您的问题,如果不能,那么您应该寻求其他托管安排。

关于php - 使用 laravel 5.1 在实时服务器中发送电子邮件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415177/

相关文章:

php - 电子邮件解析和处理架构

c - 使用 libcurl/smtp 和 gmail : login denied 发送电子邮件

c# - 带 TLS/SSL 的异步套接字

php - 使用 PHP 查找多个条目中抄袭的可能性

php - Wordpress:显示一个类别的 25 个帖子和另一个类别的 55 个帖子

php - Eloquent 地查询与审阅者的电子邮件,其中所有审阅者都有 approval_status 已批准电子邮件

java - SSLSocket 忽略域不匹配

javascript - 是否可以制作一个按钮作为文件上传按钮?

email - 后缀/Dovecot SSL 配置

javascript - 无法在使用 SSL 的服务器中获取 css 和 js 文件