欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA发送邮件工具包_java mail 发送邮件工具包

发布时间:2024/7/23 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JAVA发送邮件工具包_java mail 发送邮件工具包 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Java测试发送邮件的时候经常出现异常,检查多次账户名密码无误后,依然出现如下图错误: 之前不清楚,后面在网上得到提醒,我们所使用的smtp服务器使用的密码与我们自身登录网页端邮箱的密码是不一样的,以163邮箱为例,当我们设置打开smtp服务时会要求我们设

下载地址:

下载1 封装好的java邮件包,代码调用示例 public static void main(String[] args) throws Exception {

FinderSendMail sendMail;

MailInfo mailInfo =new MailInfo();

mailInfo.setTitle("test title");

mailInfo.setFrom("xxx@163.com");

mailInfo.setHost("smtp.163.com");

mailInfo.setTo("xxx@gmail.com");

mailInfo.setUsername("xxx@163.com");

mailInfo.setPassword("xxx");

//mailInfo.setContentType("text/html");

mailInfo.setContent("welcome to 技术社区");

sendMail=new FinderSendMail(mailInfo);

sendMail.send();

} 就这么简单调用,就发出去了, 依赖包 activition.jar,mail.jar, log4j.jar 如果你放在有JAVAEE.JAR 环境下 运行 会有一下错误问题 首次运行你可能会遇到以下的错误,所以note.txt文件就用来提供遇到的错误以及对应的解决方案 note.txt java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

at javax.mail.Session.loadProvidersFromStream(Session.java:928)

at javax.mail.Session.access$000(Session.java:174)

at javax.mail.Session$1.load(Session.java:870)

at javax.mail.Session.loadResource(Session.java:1084)

at javax.mail.Session.loadProviders(Session.java:889)

at javax.mail.Session.(Session.java:210)

at javax.mail.Session.getDefaultInstance(Session.java:299)

at mail.SendMail.sendMail(SendMail.java:31)

at mail.SendMail.main(SendMail.java:50) Exception in thread "main"

解决方案:在myeclipse的安装目录下搜索javaee.jar,然后用压缩软件打开,删除javax下的mail文件夹 java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport

at javax.activation.MailcapCommandMap.(MailcapCommandMap.java:140)

at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:61)

at javax.activation.DataHandler.getCommandMap(DataHandler.java:153)

at javax.activation.DataHand1、注册一个网易邮箱,开通smtp服务,作为发送邮件的邮箱服务器 2、jar包准备commons-email-1.3.3.jar,activation.jar等,源码有提供 3、准备工作 //设置smtp host,QQ邮箱邮件服务器为smtp.qq.com,此处为163 邮箱

private static final String HostName = "ler.getDataContentHandler(DataHandler.java:611)

at javax.activation.DataHandler.writeTo(DataHandler.java:315)

at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:264)

at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1299)

at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2071)

at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2039)

at javax.mail.Transport.send(Transport.java:119)

at mail.SendMail.sendMailNoValidate(SendMail.java:48)

at mail.SendMail.main(SendMail.java:96) Exception in thread "main"

解决方案:在myeclipse的安装目录下搜索javaee.jar,然后用压缩软件打开,删除javax文件夹下的activation文件夹 javax.mail.SendFailedException: Sending failed;

nested exception is:

javax.mail.MessagingException: 503 Error: need EHLO and AUTH first !

at javax.mail.Transport.send0(Transport.java:219)

at javax.mail.Transport.send(Transport.java:81)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:210)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:243)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:261) 解决方案:props.put("mail.smtp.auth", "true");

javax.mail.SendFailedException: Sending failed;

nested exception is:

javax.mail.AuthenticationFailedException

at javax.mail.Transport.send0(Transport.java:219)

at javax.mail.Transport.send(Transport.java:81)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMailNoValidate(SendMailServiceImpl.java:211)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.sendMail(SendMailServiceImpl.java:244)

at com.asiainfo.bboss.sendmail.SendMailServiceImpl.main(SendMailServiceImpl.java:262) 解决方案: MyAuthenticator myauth = new MyAuthenticator(mailInfo.getUsername(),password);

总结

以上是生活随笔为你收集整理的JAVA发送邮件工具包_java mail 发送邮件工具包的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。