Java使用63邮箱的465端口发送邮件报错:Could not connect to SMTP host: smtp.163.com, port: 465,

Oxygenzzz 2019-04-28 03:05:11
用25端口是没问题的,但是由于阿里云服务器封禁了25端口 所以要改为465端口发送邮件。可是改为465端口发送邮件就报错,代码如下:

import org.apache.commons.net.smtp.SMTPClient;
import org.apache.commons.net.smtp.SMTPReply;
import org.xbill.DNS.Lookup;
import org.xbill.DNS.Record;
import org.xbill.DNS.Type;

import java.io.IOException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

/**
* 发送邮件的工具类
*/
public class MailUtils {

public static void sendMail(String uAccount, String context) throws MessagingException {
// 1.创建一个程序与邮件服务器会话对象 Session

Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");
props.setProperty("mail.host", "smtp.163.com");
props.setProperty("mail.smtp.auth", "true");// 指定验证为true

props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");


// 创建验证器
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("oxygen_orz", "授权码");
}
};

Session session = Session.getInstance(props, auth);

// 2.创建一个Message,它相当于是邮件内容
Message message = new MimeMessage(session);

message.setFrom(new InternetAddress("oxygen_orz@163.com")); // 设置发送者

message.setRecipient(RecipientType.TO, new InternetAddress(uAccount)); // 设置发送方式与接收者

message.setSubject("MiniBlog");

message.setContent(context, "text/html;charset=utf-8");

// 3.创建 Transport用于将邮件发送

Transport.send(message);
}
}


报错信息如下:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 465, response: -1

希望有大佬可以指导一下哪里的问题
...全文
941 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2019-04-28
  • 打赏
  • 举报
回复
Oxygenzzz 2019-04-28
  • 打赏
  • 举报
回复
问题解决了,包错了
之前是

<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>

改为:

<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.6</version>
</dependency>


就好了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧