外部 SMTP 发送不了邮件

问答中心分类: OneinStack外部 SMTP 发送不了邮件
salemilk asked 6 年 ago

使用的是 阿里企业邮 465端口,之前好使的,然后重做了服务器以后就使用不了,什么原因呢?

Question Tags:

13 Answers
oneinstack answered 6 年 ago
telnet ip 465 是否通?

salemilk answered 6 年 ago
telnet 阿里云的SMTP地址 返回信息如下:
telnet smtp.mxhichina.com 465
Trying 42.120.XX.XX...
Connected to smtp.mxhichina.com.
Escape character is \'^]\'.
Connection closed by foreign host.
telnet 自己的ip 地址 465 端口
telnet: Unable to connect to remote host: Connection timed out
---------
是啥原因呀

oneinstack answered 6 年 ago
看上去没问题,网站什么程序? 登录阿里云邮箱看看!

salemilk answered 6 年 ago
网站程序应该也没问题呢 之前是可以发的。阿里云邮 也可以登陆发送,我没安装iptables ,要不要在防火墙把465 端口打开?或者相关的问题

oneinstack answered 6 年 ago
网站程序debug打开看看过程吧,和iptables应该没关系!

salemilk answered 6 年 ago
已经找到原因啦,是 服务器的设置问题 。麻烦您尽快修复哈

oneinstack answered 6 年 ago
具体什么原因 ??

cycycycy answered 6 年 ago
php.ini
 ;openssl=
修改为 
openssl=/user/local/openssl/cacert.pem

cycycycy answered 6 年 ago
没有指定证书

salemilk answered 6 年 ago
是修改完就可以使用了吗?

oneinstack answered 6 年 ago
尝试将/user/local/openssl/cacert.pem 重名为:/user/local/openssl/cert.pem 注销掉/usr/local/php/etc/php.ini opensslxx= 指定证书参数,重启php看看是否正常?

cc answered 6 年 ago
重命名 cacert.pem 为cert.pem    看了下  ;openssl= 这个是空白的,  也注销了,但是还是不能发送邮件,,
以前用 PHP  7.1 的时候 可以正常发送邮件,,
不知道 怎么办了,

oneinstack answered 6 年 ago

openssl.cafile 默认应该就是/usr/local/openssl/cert.pem

php -r "print_r(openssl_get_cert_locations());"
Array
(
    [default_cert_file] => /usr/local/openssl/cert.pem
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /usr/local/openssl/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /usr/local/openssl/private
    [default_default_cert_area] => /usr/local/openssl
    [ini_cafile] => 
    [ini_capath] => 
)