码迷,mamicode.com
首页 > 编程语言 > 详细

javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

时间:2020-04-02 01:24:28      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:ipa   添加   功能   print   nec   str   sage   text   ges   

公司新做了一个项目,需要用到邮件发送功能。因为以前同事在其他项目上做过邮件模块,所以直接移植过来了。

本以为很简单的功能,直接copy多好。然而命运多舛。 调用发送邮件的代码时候报错。

主要代码:

Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.starttls.enable", "true");// 使用 STARTTLS安全连接
props.put("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(props);

session.setDebug(false);
MimeMessage message = new MimeMessage(session);

try {

String show_username = username;
if (show_username.indexOf("@") > -1) {
show_username = show_username.split("@")[0];
}
message.setFrom(new InternetAddress(username, show_username));

InternetAddress[] internetAddressTo = new InternetAddress().parse(toMail);
message.setRecipients(Message.RecipientType.TO, internetAddressTo);
//message.addRecipient(Message.RecipientType.TO, new InternetAddress(toMail));

message.setSubject(subject);
message.addHeader("charset", "UTF-8");
/* 添加正文内容 */
Multipart multipart = new MimeMultipart();

StringBuffer lineTxt = new StringBuffer();

BodyPart contentPart = new MimeBodyPart();
contentPart.setText(lineTxt.toString());
contentPart.setHeader("Content-Type", "text/html; charset=UTF-8");
multipart.addBodyPart(contentPart);

message.setContent(multipart);
message.setSentDate(new Date());
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, port, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();

} catch (Exception e) {

e.printStackTrace();
}

 

 

打断点看到是Transport transport = session.getTransport("smtp");  时报错

百度好久,三问度娘。最后发现是引用的jar包问题

原先系统用的jdk7 用的 mail-1.4.jar

现在系统是jdk8 重新在网上下载了 最新的 javax.mail.jar  搞定。

 

javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp

标签:ipa   添加   功能   print   nec   str   sage   text   ges   

原文地址:https://www.cnblogs.com/zjf6666/p/12616862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!