Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix上的Php邮件队列异常-专家意见_Php_Email_Unix_Smtp - Fatal编程技术网

Unix上的Php邮件队列异常-专家意见

Unix上的Php邮件队列异常-专家意见,php,email,unix,smtp,Php,Email,Unix,Smtp,我正在使用邮件队列在我的应用程序()中发送电子邮件 同样的代码在windows(php版本:5.5.28)上运行良好,并且在unix(php版本5.6)上出现了下面提到的异常 PHP用户注意到“yii\base\ErrorException”,并显示消息“发送邮件时出错:身份验证失败[SMTP:STARTTLS失败(代码:220,响应:立即开始TLS协商)]” 邮件服务器凭据正常。它们在linux和windows上都是相同的代码220表示服务器已就绪(通过) 我在某个地方读到,这是由于php5.

我正在使用邮件队列在我的应用程序()中发送电子邮件

同样的代码在windows(php版本:5.5.28)上运行良好,并且在unix(php版本5.6)上出现了下面提到的异常

PHP用户注意到“yii\base\ErrorException”,并显示消息“发送邮件时出错:身份验证失败[SMTP:STARTTLS失败(代码:220,响应:立即开始TLS协商)]”

邮件服务器凭据正常。它们在linux和windows上都是相同的<代码>代码220表示服务器已就绪(通过)


我在某个地方读到,这是由于php5.6,它在5.5上可以正常工作,但我认为这不是一个有效的问题答案/解决方案。

我猜这是因为php5.6默认情况下进行SSL对等验证,而php5.5则没有。我想如果您修复了一个有效的SSL证书,它应该可以工作,或者在代码中禁用SSL验证对等


由于不了解邮件队列,如果没有任何示例代码,我不知道如何修复它。

从EC2实例发送电子邮件受到Amazon的限制,并且在网络级别受到严格限制。这是为了防止垃圾邮件和其他滥用行为

如果你有大量的电子邮件要发送给你的客户,推荐的方法是使用。使用Amazon SES,您可以发送事务性电子邮件、营销信息或任何其他类型的高质量内容,并且只需为您使用的内容付费

如果您确实需要从EC2实例发送电子邮件,则必须使用弹性IP地址,并要求亚马逊支持部门取消对该EIP SMTP通信的限制


或者,我建议您可以使用,它们快速准确,每月免费提供12000封电子邮件。

您的Unix服务器上是否运行防火墙?呃,我记得,我在云端迁移应用程序时遇到过几乎类似的错误。我不确定,但这可能是PHP版本的问题。尝试关闭php中的openssl扩展。知道我该怎么做吗?是否使用SSH或Cpanel/Webmin之类的工具来管理您的服务器?SSH,我从amazon购买了一台服务器,安装了php、mysql,部署了所有的应用程序..工作正常..现在剩下的部分是通过CRON发送电子邮件..知道我该怎么做吗?我没有在我的代码中明确定义它,我可以通过我的前端发送电子邮件。电子邮件已经发送,并且工作正常。问题是通过邮件发送_queue@DanyalSandeelo,说实话,我从未使用过邮件队列。检查邮件队列是否正在尝试使用端口25进行连接。如果是,请尝试其他端口。