java.mail实现发送邮件
本文实例为大家分享了java.mail实现发送邮件的具体代码,供大家参考,具体内容如下
前提条件:
需要对邮箱做出设置,开启:
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV等服务
一方面是接收这些代理服务器发送的邮件
另一方面就是让邮箱接受这些邮件协议的代理
在登录的时候,就是用户名和授权码,进行登录
获取授权码的过程:直接百度搜索就有结果,这里不再赘述
demo
这里需要引入javax.mailjar包
packagetest;
///**
//*
//*@authorjingxl0327
//*@Description邮件发送测试
//*/
publicclasssendMailTest{
publicstaticvoidmain(String[]args)throwsException{
//配置信息
Propertiespro=newProperties();
pro.put("mail.smtp.host","smtp.163.com");
pro.put("mail.smtp.auth","true");
//SSL加密
MailSSLSocketFactorysf=null;
sf=newMailSSLSocketFactory();
//设置信任所有的主机
sf.setTrustAllHosts(true);
pro.put("mail.smtp.ssl.enable","true");
pro.put("mail.smtp.ssl.socketFactory",sf);
//根据邮件的会话属性构造一个发送邮件的Session,这里需要注意的是用户名那里不能加后缀,否则便不是用户名了
//还需要注意的是,这里的密码不是正常使用邮箱的登陆密码,而是客户端生成的另一个专门的授权码
MailAuthenticatorauthenticator=newMailAuthenticator("jingxl0327",
"jing0327");
Sessionsession=Session.getInstance(pro,authenticator);
//根据Session构建邮件信息
Messagemessage=newMimeMessage(session);
//创建邮件发送者地址
Addressfrom=newInternetAddress("jingxl0327@163.com");
//设置邮件消息的发送者
message.setFrom(from);
//验证收件人邮箱地址
ListtoAddressList=newArrayList<>();
toAddressList.add("1157496573@qq.com");
StringBufferbuffer=newStringBuffer();
if(!toAddressList.isEmpty()){
StringregEx="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Patternp=Pattern.compile(regEx);
for(inti=0;ifileAddressList=newArrayList();
fileAddressList
.add("C:\\Users\\tuzongxun123\\Desktop\\新建MicrosoftOfficeWord文档.docx");
if(fileAddressList!=null){
BodyPartattchPart=null;
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。