阿里云服务器发送邮箱STMP25端口465端口问题Javamail25被禁用

阿⾥云服务器发送邮箱STMP25端⼝465端⼝问题Javamail25被禁⽤
我们传统使⽤的⽐较简单的是 STMP 25端⼝收发邮件
今天发现刚购买的阿⾥云服务器不能作为客户端通过STMP 25端⼝发送邮件
开始在⽹上有说发现是JDK1.8的原因,然后⾃⼰也把JDK1.8换到了JDK1.7 还是不⾏,所以这⾥排除了JDK的原因。
那么问题来了,是否25端⼝不能连接适⽤喃?
然后在终端输⼊命令⾏,可测试25端⼝是否可连接。
telnet smtp.163 25
返回成功说明你的服务器是没有封掉25端⼝的。上⾯的图是我⾃⼰的电脑,当然能连通。
当换到服务器测试的时候就会出现⼀只连接不成功
了很久的问题,突然在阿⾥云客服社区发现⼀个帖⼦,当中有客服的解释,当然我不是第⼀个遇到这个问题的⼈。
那么客服的解释⼀下就说明的问题:好像是将25端⼝封掉了时间是2016年9⽉底以后新购买的服务器。
那么问题到了那就需要将25端⼝换到465端⼝采⽤SSL协议传输邮件。
好了贴代码时间到:
下⾯这段代码是采⽤SSL协议发送邮件,可向多⼈单⼈发送邮件
package com.aaaa.util;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.security.Security;
import java.util.Date;
import java.util.Map;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
水塔水位控制系统
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
/**
* 邮件处理类
*
* @author jiafuwei
*
*/
public class MailUtil {
private static final String FROM_MAIL_SMTP = "ail.qq";
private static final String FROM_MAIL_NAME = "aaaaaa@qq";
private static final String FROM_MAIL_PASS = "xxxxxxx";
/**
* 发送邮件(灵活度⾼,通⽤版)
* @param from 发件⼈
* @param to 收件⼈, 多个Email以英⽂逗号分隔
* @param cc 抄送, 多个Email以英⽂逗号分隔
* @param subject 主题
* @param content 内容
* @param fileList 附件列表
* @return
*/
public static boolean sendMail(String to, String cc, String subject, String content, String[] fileList){
try {
Security.addProvider(new com.sun.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.ssl.SSLSocketFactory";
final Properties p = Properties() ;
p.setProperty("mail.smtp.host", FROM_MAIL_SMTP);
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.smtp.user", FROM_MAIL_NAME);
p.setProperty("mail.smtp.pass", FROM_MAIL_PASS);
p.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
p.setProperty("mail.smtp.socketFactory.fallback", "false");
//邮箱发送服务器端⼝,这⾥设置为465端⼝
p.setProperty("mail.smtp.port", "465");
p.setProperty("mail.smtp.socketFactory.port", "465");
// 根据邮件会话属性和密码验证器构造⼀个发送邮件的session
Session session = Instance(p, new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new Property("mail.smtp.user"),p.getProperty("mail.smtp.pass"));
}
});
session.setDebug(true);
Message message = new MimeMessage(session);
//消息发送的主题
message.setSubject(subject);
//接受消息的⼈
message.setReplyTo(InternetAddress.parse(FROM_MAIL_NAME));
//消息的发送者
cpich
无人自助超市message.setFrom(new Property("mail.smtp.user"),"河马评测"));
// 创建邮件的接收者地址,并设置到邮件消息中
String[] split = to.split(",");
InternetAddress []tos = new InternetAddress[split.length];
for (int i = 0; i < split.length; i++) {
tos[i]=new InternetAddress(split[i]);
}
// 设置抄送⼈
if (cc != null && cc.length() > 0) {
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
}
message.setRecipients(Message.RecipientType.TO, tos);
可利霉素作用与用途// 消息发送的时间
message.setSentDate(new Date());
Multipart mainPart = new MimeMultipart();
/
/ 创建⼀个包含HTML内容的MimeBodyPart
BodyPart html = new MimeBodyPart();
// 设置HTML内容
html.setContent(content, "text/html; charset=utf-8");
mainPart.addBodyPart(html);
// 将MiniMultipart对象设置为邮件内容
message.setContent(mainPart);
// 设置附件
if (fileList != null && fileList.length > 0) {
for (int i = 0; i < fileList.length; i++) {
html = new MimeBodyPart();
usb话筒
静态破碎剂
FileDataSource fds = new FileDataSource(fileList[i]);
html.setDataHandler(new DataHandler(fds));
html.Name(), "UTF-8", "B"));
mainPart.addBodyPart(html);
}
}
message.setContent(mainPart);
message.saveChanges();
Transport.send(message);
} catch (MessagingException e) {
e.printStackTrace();
return false;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 测试Mian⽅法
*
* @param args
*/
public static void main(String[] args) {
String content = "<html><head><style type='text/css'>p{padding-left:50px;font-family:'楷体';font-size:20px;}table{padding-left:50px;border:0;font-family:'楷体';font-size:30px;}</style></head><body>您好:<br/><p>申请编号为"+"测试测试内容        content = "<html><head><style type='text/css'>p{padding-left:50px;font-family:'楷体';font-size:20px;}table{padding-left:50px;border:0;font-family:'楷体';font-size:30px;}</style></head><body>Hey:<br/><p>我们发现您的⽤户评测报告已经出        System.out.println(content);
String[] fileList = new String[1];
fileList[0] = "d:/";
sendMail("123456@qq", "jiafw@yqjr", "测试测试", content,fileList);
}
}
OK当我们使⽤465端⼝SSL协议的时候,顺利的在服务器上发出邮件了。

本文发布于:2024-09-22 22:30:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/311831.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:邮件   发送   服务器   测试   设置   消息   问题   说明
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议