本文实例为大家分享了java.mail实现发送邮件的具体代码,供大家参考,具体内容如下
<强>前提条件:强>
需要对邮箱做出设置,开启:
POP3/IMAP/SMTP/交流/CardDAV CalDAV等服务
一方面是接收这些代理服务器发送的邮件
另一方面就是让邮箱接受这些邮件协议的代理
在登录的时候,就是用户名和授权码,进行登录
获取授权码的过程:直接百度搜索就有结果,这里不再赘述
<强>演示强>
这里需要引入javax。邮件jar包
包装测试;///* *//*//* @author jingxl0327//* @Description邮件发送测试//*/公开课sendMailTest { 公共静态void main (String [] args){抛出异常//配置信息 箴=new属性(); pro.put (“mail.smtp。主机”、“smtp.163.com”); pro.put (“mail.smtp。身份验证”、“真正的”);//SSL加密 MailSSLSocketFactory科幻=零; 科幻小说=new MailSSLSocketFactory ();//设置信任所有的主机 sf.setTrustAllHosts(真正的); pro.put (“mail.smtp.ssl。启用”、“真正的”); pro.put (“mail.smtp.ssl。socketFactory”,科幻小说);//根据邮件的会话属性构造一个发送邮件的会话,这里需要注意的是用户名那里不能加后缀,否则便不是用户名了//还需要注意的是,这里的密码不是正常使用邮箱的登陆密码,而是客户端生成的另一个专门的授权码 MailAuthenticator身份=new MailAuthenticator (“jingxl0327”, “jing0327”); 会话会话=会话。getInstance(职业、身份验证);//根据会话构建邮件信息 消息消息=new MimeMessage(会话);//创建邮件发送者地址 地址=new InternetAddress (“jingxl0327@163.com”);//设置邮件消息的发送者 message.setFrom(从);//验证收件人邮箱地址 List,toAddressList=new ArrayList<的在(); toAddressList.add (“1157496573 @qq.com”); StringBuffer缓冲=new StringBuffer (); 如果(! toAddressList.isEmpty ()) { 字符串正则表达式=" ^ ([a-z0-9A-Z] + [- | \ \] & # 63;) + (a-z0-9A-Z) @ ((a-z0-9A-Z) + (- [a-z0-9A-Z] +) & # 63; \ \) + [a-zA-Z] {2,} $”; p=Pattern.compile模式(正则表达式); for (int i=0;我& lt;toAddressList.size ();我+ +){ 匹配器匹配=p.matcher (toAddressList.get(我)); 如果(match.matches ()) { buffer.append (toAddressList.get (i)); 如果我& lt;toAddressList.size () - 1) { buffer.append (", "); } } } } 字符串的toAddress=buffer.toString (); 如果(! toAddress.isEmpty ()) {//创建邮件的接收者地址 地址[]=InternetAddress.parse(解决);//设置邮件接收人地址 message.setRecipients (Message.RecipientType。,);//邮件主题 message.setSubject(“这个是主题”);//邮件容器 MimeMultipart MimeMultipart=new MimeMultipart ();//设置的HTML BodyPart BodyPart=new MimeBodyPart ();//邮件内容 字符串超文本="这个是内容”; bodyPart。setContent(超文本,“text/html; charset=utf - 8”); mimeMultiPart.addBodyPart (bodyPart);//添加附件 List fileAddressList=new ArrayList (); fileAddressList 阀门(“C: \ \ \ \ tuzongxun123 \ \用户桌面\ \新建微软Office词文档docx”); 如果(fileAddressList !=null) { BodyPart attchPart=零; for (int i=0;我& lt;fileAddressList.size ();我+ +){ 如果(! fileAddressList.get(我).isEmpty ()) { attchPart=new MimeBodyPart ();//附件数据源 数据源源=new FileDataSource ( fileAddressList.get (i));//将附件数据源添加到邮件体 attchPart。setDataHandler(新DataHandler(源));//设置附件名称为原文件名 attchPart.setFileName (MimeUtility.encodeText(源 . getname ())); mimeMultiPart.addBodyPart (attchPart); } } } message.setContent (mimeMultiPart); 消息。setSentDate(新日期());//保存邮件 message.saveChanges ();//发送邮件 Transport.send(消息); } } } 类MailAuthenticator扩展身份{/* * *用户名 */私人字符串的用户名;/* * *密码 */私人密码字符串;/* * *创建一个新的实例MailAuthenticator。 * * @param用户名 * @param密码 */公共MailAuthenticator(用户名的字符串,字符串密码){ 这一点。用户名=用户名; 这一点。密码=密码; } 公共字符串getPassword () { 返回密码; } @Override 保护PasswordAuthentication getPasswordAuthentication () { 返回新PasswordAuthentication(用户名、密码); } 公共字符串getUsername () { 返回用户名; } 公共空间向setPassword(字符串密码){ 这一点。密码=密码; } 公共空间setUsername(字符串的用户名){ 这一点。用户名=用户名; } } java.mail实现发送邮件