Java怎么基于雅加达邮报实现收发邮件

  介绍

小编给大家分享一下Java怎么基于雅加达邮报实现收发邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Java基本数据类型有哪些

Java的基本数据类型分为:1,整数类型,用来表示整数的数据类型。2,浮点类型,用来表示小数的数据类型。3,字符类型,字符类型的关键字是“字符”。4,布尔类型,是表示逻辑值的基本数据类型。

雅加达邮报API提供了一个独立于平台和协议的框架来构建邮件,完成邮件接收与发送功能。它也包含在Java EE平台中,也可以和Java SE平台一起使用。

雅加达邮报的前生是JavaMail.JavaMail最后一个版本是于2018年8月发布,已经停止更新。新项目应该使用雅加达邮报。

现在很多邮箱默认关闭smtp、pop3、imap服务,需要在设置中手动开启。

癑ava怎么基于雅加达邮报实现收发邮件"

如果邮箱是使用授权码,则需要生成授权码(代替下文中密码),这种方式更安全。

依赖

注意雅加达邮报引用的包名与JavaMail不同,我写演示时用的是2.0.0版。

& lt; dependency>   ,,,& lt; groupId> com.sun.mail   ,,,& lt; artifactId> jakarta.mail   ,,,& lt; version> {version} & lt;/version>   & lt;/dependency>

所有jar清单:

癑ava怎么基于雅加达邮报实现收发邮件"

最新版本包含了对Android的支持,可参考雅加达邮报为Android

发送邮件

使用smtp协议接收,本文以QQ邮箱为例。

发送普通文本邮件

MailObject  mailObj =, new  MailObject ();   mailObj.setFrom (“engr-z@qq.com");   mailObj.setTo (new  String [] {“post@engr-z.com"});   mailObj.setSubject (“JavaMail  2.0“);   mailObj.setFormat (MailObject.EmailFormat.TEXT);   mailObj.setBody (“Java 收发邮件,(Jakarta 邮件)“);//,smtp配置,可保存到属性文件,读取   Properties  props =, new 属性();   props.put (“mail.smtp.host",,“smtp.qq.com");   props.put (“mail.smtp.port",, 465);   props.put (“mail.smtp.ssl",,真的);//,需要认证   props.put (“mail.smtp.auth",,真的);   props.put (“mail.smtp.user",,“engr-z@qq.com");   props.put (“mail.smtp.pass",,“* * * * * *“);//,使用ssl   props.put (“mail.smtp.socketFactory.class",,“javax.net.ssl.SSLSocketFactory");//props.put (“mail.smtp.socketFactory.fallback",,假);//props.put (“mail.smtp.socketFactory.port", mailConfig.getPort ());//,创建会话   Session  Session =, Session.getInstance(道具、,new 身份(),{   ,,@Override   ,,,protected  PasswordAuthentication  getPasswordAuthentication (), {   ,,,,,,,if (避免(props.getProperty (“mail.smtp.auth"))), {   ,,,,,,,,,,,//,需要认证   ,,,,,,,,,,,PasswordAuthentication  auth =, new  PasswordAuthentication (props.getProperty (“mail.smtp.user"), props.getProperty (“mail.smtp.pass"));   ,,,,,,,,,,,return 认证;   ,,,,,,,}   ,,,,,,,return  super.getPasswordAuthentication ();   ,,,}   });//,构建邮件消息   MimeMessage  msg =, new  MimeMessage(会话);   msg.setFrom (new  InternetAddress (mailObj.getFrom ()));      时间=InternetAddress [], address  new  InternetAddress [mailObj.getTo () . length];   for  (int 小姐:=,0,,j =, mailObj.getTo () . length;,小姐:& lt;, j;,我+ +),{   ,,,地址[我],=,new  InternetAddress (mailObj.getTo()[我]);   }//,可以用msg.setRecipients方法增加多个接收人,指定接收人类型//,Message.RecipientType.CC 抄送//,Message.RecipientType.BCC 密送   msg.setRecipients (Message.RecipientType.TO,地址);      msg.setSubject (mailObj.getSubject ());   if  (MailObject.EmailFormat.HTML.equals (mailObj.getFormat ())), {   ,,,//,html格式   ,,,msg.setContent (mailObj.getBody (),“text/html; charset=utf-8");   },{else    ,,,msg.setText (mailObj.getBody ());   }   msg.setSentDate (new 日期());//,发送邮件   Transport.send(味精);

发送带附件的邮件

MailObject  mailObj =, new  MailObject ();   mailObj.setFrom (“engr-z@qq.com");   mailObj.setTo (new  String [] {“post@engr-z.com"});   mailObj.setSubject (“JavaMail  2.0“);   mailObj.setFormat (MailObject.EmailFormat.TEXT);   mailObj.setBody (“Java 收发邮件,(Jakarta 邮件)“);//,smtp配置,可保存到属性文件,读取   Properties  props =, new 属性();   props.put (“mail.smtp.host",,“smtp.qq.com");   props.put (“mail.smtp.port",, 465);   props.put (“mail.smtp.ssl",,真的);//,需要认证   props.put (“mail.smtp.auth",,真的);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Java怎么基于雅加达邮报实现收发邮件