在阿里云上买了一个轻量应用服务器,之所以选择这个是因为该类型的服务器可以在购买时配置开发环境,而且价格比较便宜。将网站在本地搭好上传到云上时,发现原本可以运行的邮件发送功能失效了。折腾了将近一天之后,才发现问题所在,这里记录一下。
官方教程
阿里云在帮助中提供了SMTP发邮件的示例程序,各个语言的版本都有,很全面:
image.png
其中PHP的代码如下:
<?php require 'email.class.php'; $mailto='***'; $mailsubject="测试邮件"; $mailbody='这里是邮件内容'; $smtpserver = "smtpdm.aliyun.com"; $smtpserverport = 25; $smtpusermail = "***"; $smtpuser = "***"; $smtppass = "***"; $mailsubject = "=?UTF-8?B?" . base64_encode($mailsubject) . "?="; $mailtype = "HTML"; $smtp = new smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass); $smtp->debug = false; $smtp->sendmail($mailto, $smtpusermail, $mailsubject, $mailbody, $mailtype); 在使用时我将官方给出的PHP的代码复制进去,运行时还是出错(访问smtp服务器超时)。后来查了各种资料才发现阿里云出于安全的考虑,将25号端口