阿里云
1024开发者盛宴之Java专家问答专场
发表主题 回复主题
  • 15121阅读
  • 12回复

[分享]【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦

级别: 论坛版主
发帖
880
云币
2820
— 本帖被 whosoft 执行加亮操作(2017-11-23) —
为了防止垃圾邮件泛滥,阿里服务已不再开放smtp邮件的25端口,现在需要使用465端口进行smtp邮件发送。 {ol7*%u  
KANR=G   
虽然是个非常小的改动,但对小白来说,可是个头疼的问题。所以今天发布这篇php代码465端口邮件发送教程,希望能给有需要的朋友一点参考与帮助。  FkrXM!mJ  
先测试一下465端口的邮件发送吧,演示网址:http://www.iruoheng.com/mail/test.php .mfLHN%:  
el`?:dY H  
如果还没有邮箱的话,我们得注册一个邮箱用来发送邮件,推荐阿里云邮箱,已亲测可用哦。 {[#)Q.2  
8!|vp7/  
现在开始设置邮件发送功能,首先登录阿里云邮箱:https://mail.aliyun.com p/ xlR[  
点击右上角的设置,进入邮箱设置页面,将POP/IMAP代收功能开启,如下图: kf>3T@  
@*|VWHR  
?:3hp2k<  
27N;>   
e1a\ --  
然后我们上传测试代码进行测试:test.php(发送邮件前台页面)、sendmail.php(接收test.php提交的信息进行邮件发送,需要在此配置文件中将帐户信息修改为你己的)、Smtp.class.php(邮件发送函数) .Pj<Pe  
test.php R/x3+_.f  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>smtp发送邮件</title>
  6. </head>
  7. <body>
  8. <form action="sendmail.php" method="post">
  9.     <p>收件人:<input type="text" name="toemail" /></p>
  10.     <p>标  题:<input type="text" name="title" /></p>
  11.     <p>内  容:<textarea name="content" cols="50" rows="5"></textarea></p>
  12.     <p><input type="submit" value="发送"  /></p>
  13. </form>
  14. </body>
  15. </html>
Q k}RcP  
sendmail.php wr"0+J7  
  1. <?php
  2.     require_once "Smtp.class.php";
  3.     //******************** 配置信息 ********************************
  4.     $smtpserver = "ssl://smtp.aliyun.com";//SMTP服务器
  5.     $smtpserverport =465;//SMTP服务器端口
  6.     $smtpusermail = "你自己的阿里云帐户@aliyun.com";//SMTP服务器的用户邮箱
  7.     $smtpemailto = $_POST['toemail'];//发送给谁
  8.     $smtpuser = "你自己的阿里云帐户@aliyun.com";//SMTP服务器的用户帐号,注:部分邮箱只需@前面的用户名
  9.     $smtppass = "上面阿里云帐户对应的密码";//SMTP服务器的用户密码
  10.     $mailtitle = $_POST['title'];//邮件主题
  11.     $mailcontent = "<h1>".$_POST['content']."</h1>";//邮件内容
  12.     $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
  13.     //************************ 配置信息 ****************************
  14.     $smtp = new Smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
  15.     $smtp->debug = false;//是否显示发送的调试信息
  16.     $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
  17.     if($state==""){
  18.         echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";
  19.         exit();
  20.     }
  21.     echo "恭喜!邮件发送成功!!";
  22. ?>
C<C$df  
Smtp.class.php m6[}KkW  
代码太多,不在这里显示了,请在附件中下载查看 rlR!Tc>  
:0:Tl/))  
X PyDZk/m  
d eT<)'"  
beo(7,=&  
将 sendmail.php 中的发送邮件帐户和密码修改为你自己的,特别注意以下两行代码: Oe1WnS 7(]  
s>o#Ob@4'  
2|^@=.4\  
\1G '{# Q  
$smtpserver = "ssl://smtp.aliyun.com"; 0Q a 0  
$smtpserverport =465; FA*$ dwp  
原先25端口时使用的是 F8Ety^9>9  
r|UJJ9i  
$smtpserver = "smtp.aliyun.com"; NH|I>vyN  
$smtpserverport =25; s4_Dqm  
估计很多新手都卡死在这两行代码上。 BzS4:e<  
fY9+m}$S$  
安全组设置,进入阿里云控制台-》选择你的云服务器ECS,点击更多->安全组配置 "jyo'r  
6}-No  
|:5O|m '  
g6%]uCFB  
~BuzI9~7P  
如果未开放端口,请将公网入方向的端口开放。 kyAN O  
我的安全组开放了全部端口,看你个人需求,相应的进行设置 boEQI=!j\+  
pFS@yHs  
3eE=>E4,  
b_RO%L:"yL  
然后我们测试一下吧,你的网址+test.php,临时演示网址:http://www.iruoheng.com/mail/test.php 'r7[9[  
输入你的邮箱地址,和测试的邮件内容,点击发送。然后进垃圾箱看一下,已经成功收到邮件了吧。:) >[aR8J/U  
如果不想进入垃圾箱,就将你的阿里云邮箱加入收件白名单。 w\GJ,e  
/al56n  
A#cFO)"  
t$nJmfzm  
9SsVJ<9,R  
)&_bY~P  
YCiG~y/~  
]%D!-[C%1  
yS~Y"#F!.  
邮件代码测试成功,然后我们来实战一下吧。 'Hx#DhiFz  
进入dz论坛后台->邮件设置。 U\lbh;9G  
smtp服务器填:ssl://smtp.aliyun.com w>j5oz}  
端口填:465 6d]4 %QT  
邮件名称和密码填你自己申请的阿里云邮箱 @>O7/d?O  
点击发送邮件测试,,一切正常,ok ;)FvTm'"\.  
?\,;KNQr  
xcw:H&\w6  
OU%"dmSDk  
M,JwoKyg  
K*j OrQf`  
a?+C]u?_D  
'S6zkwC]  
.t\J @?Z  
邮件测试代码: mailtest.rar (4 K) 下载次数:2376 J.XkdGQ  
k_}$d{X  
:;Z/$M16B  
>I@&"&d  
[ 此帖被whosoft在2017-11-23 11:52重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +1
光山居士 云币 +1 您的帖子很精彩!希望很快能再分享您的下一帖! 2017-11-23
那个城市,那条街,那个我
级别: 论坛版主
发帖
3359
云币
8922
只看该作者 沙发  发表于: 2017-11-23
您的帖子很精彩!希望很快能再分享您的下一帖!
级别: 论坛版主
发帖
3877
云币
7401
只看该作者 板凳  发表于: 2017-11-23
级别: 论坛版主
发帖
3606
云币
2546
只看该作者 地板  发表于: 2017-11-29
我的中国 教程整理:https://bbs.aliyun.com/read/317306.html
级别: 技术砖家
发帖
1066
云币
757
只看该作者 4楼 发表于: 2017-12-21
实测可用
级别: 架构狮
发帖
1217
云币
1941
只看该作者 5楼 发表于: 01-22
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
您的帖子很精彩!希望很快能再分享您的下一帖!
级别: 新人
发帖
1
云币
3
只看该作者 6楼 发表于: 03-10
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
楼主大神,有没有ASP的解决方案啊。
级别: 新人
发帖
1
云币
3
只看该作者 7楼 发表于: 04-21
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
代码测试可以使用,在阿里云的虚拟主机上使用过了。
级别: 程序猿
发帖
447
云币
1827
只看该作者 8楼 发表于: 06-22
楼主,asp如何解决
级别: 新人
发帖
1
云币
3
只看该作者 9楼 发表于: 07-13
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
苹果电脑邮件是乱码
级别: 菜鸟
发帖
71
云币
159
只看该作者 10楼 发表于: 07-23
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
原来是smtp25端口被封了
级别: 新人
发帖
1
云币
3
只看该作者 11楼 发表于: 07-25
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
实测可用
级别: 新人
发帖
1
云币
3
只看该作者 12楼 发表于: 10-05
Re【新手教程】smtp25端口被封?没关系,现在都用的465端口发送邮件啦
发送后显示乱码的可以加一行:header("Content-type:text/html;charset=utf-8;");  e/e0d<(1  
不知道要cc抄送给第二个邮箱怎么设?测试了几次抄送都没有成功。 DOD6Liau{Q  
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个