以下是我的代碼發送電子郵件:javax.mail.NoSuchProviderException:SMTP
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.debug", "false");
final Session session = Session.getInstance(props);
final Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, toAddress);
msg.setSubject(subject);
msg.setSentDate(new Date());
Multipart multipart = new MimeMultipart("related");
BodyPart mbp1 = new MimeBodyPart();
mbp1.setContent(body, "text/html");
multipart.addBodyPart(mbp1);
Transport.send(msg);
錯誤堆棧跟蹤:
javax.mail.NoSuchProviderException: smtp
at javax.mail.Session.getService(Session.java:764)
at javax.mail.Session.getTransport(Session.java:689)
at javax.mail.Session.getTransport(Session.java:632)
at javax.mail.Session.getTransport(Session.java:612)
at javax.mail.Session.getTransport(Session.java:667)
at javax.mail.Transport.send0(Transport.java:154)
at javax.mail.Transport.send(Transport.java:80)
注:
- 相同的代碼工作如果作爲桌面應用程序執行。但在tomcat上部署時拋出異常。
- 最新的mail.jar和smtp.jar被添加到庫中。
- SMTP主機地址也是正確的。
如果有人能給我指針,它會有幫助。
確保你使用的是相同版本的jar文件:http://stackoverflow.com/questions/16861553/javax-mail-nosuchproviderexception-no-provider-for-smtps – tjg184 2014-10-08 13:42:12
你必須在你的tomcat中配置smtp server.xml,你做到了嗎? – user2504380 2014-10-08 13:42:24
也許tomcat的已經擁有了自己javax.mail罐子(Geronimo的JavaMail的罐子),它與你的 – Leo 2014-10-08 13:43:24