首页 > 服务器 > Web服务器 > 正文

阿里云服务器不能发邮件被禁用25端口的解决办法

2024-09-01 13:54:28
字体:
来源:转载
供稿:网友

阵子刚刚买了个阿里云服务器,在做发送邮件功能时,发现本来在本地测试没问题的功能,在服务器上连接超时。

后来发现是阿里云将25端口禁用了(“坑!当然也有其道理”),大概2016年9月后买的服务器都被禁用。25禁用了,我们就不用它。以163邮箱为例:

网易163免费邮箱相关服务器信息:

阿里云服务器,不能发邮件,25端口

我这里用的就是SSL协议端口465,代码如下
 

  1. <?php 
  2. header("content-type:text/html;charset=utf-8"); 
  3. include("/PHPMailer/class.phpmailer.php"); 
  4. include("/PHPMailer/class.smtp.php"); 
  5.  
  6. $mail = new PHPMailer(true);  
  7. $mail->IsSMTP();  
  8. $mail->CharSet=‘UTF-8‘; //设置邮件的字符编码,这很重要,不然中文乱码  
  9. $mail->SMTPAuth = true; //开启认证  
  10. $mail->SMTPSecure = ‘ssl‘;//设置使用ssl加密方式登录鉴权 
  11. $mail->Port = 465;  
  12. $mail->Host = "smtp.163.com";  
  13. $mail->Username = "邮箱名";  
  14. $mail->Password = "授权码";  
  15. //$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示  
  16. $mail->AddReplyTo("邮箱名","mckee");//回复地址  
  17. $mail->From = "邮箱名";  
  18. $mail->FromName = "www.phpddt.com";  
  19. $to = "收件人";  
  20. $mail->AddAddress($to);  
  21. $mail->Subject = "本测试标题";  
  22. $mail->Body = "<h1>phpmail演示</h1>这是php点点通(<font color=red>www.phpddt.com</font>)对phpmailer的测试内容";  
  23. $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"//当邮件不支持html时备用显示,可以省略  
  24. $mail->WordWrap = 80; // 设置每行字符串的长度  
  25. //$mail->AddAttachment("f:/test.png"); //可以添加附件  
  26. $mail->IsHTML(true);  
  27. if(!$mail->Send())  
  28. {  
  29. echo "邮件发送有误 <p>";  
  30. echo "邮件错误信息: " . $mail->ErrorInfo;  
  31. exit;  
  32. }  
  33. else {  
  34. echo "邮件发送成功!<br />";  
  35. ?> 

其实也就在配置里加了

$mail->SMTPSecure = ‘ssl‘;//设置使用ssl加密方式登录鉴权

$mail->Port = 465;

java 中配置代码
 

  1. postoffice.implementation=ninja.postoffice.commonsmail.PostofficeCommonsmailImpl 
  2. smtp.host=smtp.163.com 
  3. smtp.port=465 
  4. smtp.ssl=true 
  5. smtp.user=tur21i@163.com 
  6. smtp.password=7982e23 
  7. smtp.debug=true 

注:相关教程知识阅读请移步到服务器教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表