外部 SMTP 发送不了邮件

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

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

Question Tags:

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

salemilk answered 4年 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 4年 ago
看上去没问题,网站什么程序? 登录阿里云邮箱看看!

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

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

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

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

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

cycycycy answered 4年 ago
没有指定证书

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

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

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

oneinstack answered 4年 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] => 
)