java工具类SendEmailUtil实现发送邮件
本文实例为大家分享了java实现发送邮件的工具类,供大家参考,具体内容如下
SendEmailUtil
javax.mail 1.4.5
importjavax.mail.Address; importjavax.mail.Message; importjavax.mail.Session; importjavax.mail.Transport; importjavax.mail.internet.InternetAddress; importjavax.mail.internet.MimeMessage; importcom.sun.mail.util.MailSSLSocketFactory; importjava.io.FileOutputStream; importjava.io.OutputStream; importjava.text.SimpleDateFormat; importjava.util.Date; importjava.util.Properties; publicclassSendmailUtil{ //邮件服务器主机名 //QQ邮箱的SMTP服务器地址为:smtp.qq.com privatestaticStringmyEmailSMTPHost="smtp.qq.com"; //发件人邮箱 privatestaticStringmyEmailAccount="xxxxxxxxxx@xx.com"; //发件人邮箱密码(授权码) //在开启SMTP服务时会获取到一个授权码,把授权码填在这里 privatestaticStringmyEmailPassword="xxxxxxxxxxxx"; /** *邮件单发(自由编辑短信,并发送,适用于私信) * *@paramtoEmailAddress收件箱地址 *@paramemailTitle邮件主题 *@paramemailContent邮件内容 *@throwsException */ publicstaticvoidsendEmail(StringtoEmailAddress,StringemailTitle,StringemailContent)throwsException{ Propertiesprops=newProperties(); //开启debug调试 props.setProperty("mail.debug","true"); //发送服务器需要身份验证 props.setProperty("mail.smtp.auth","true"); //端口号 props.put("mail.smtp.port",465); //设置邮件服务器主机名 props.setProperty("mail.smtp.host",myEmailSMTPHost); //发送邮件协议名称 props.setProperty("mail.transport.protocol","smtp"); /**SSL认证,注意腾讯邮箱是基于SSL加密的,所以需要开启才可以使用**/ MailSSLSocketFactorysf=newMailSSLSocketFactory(); sf.setTrustAllHosts(true); //设置是否使用ssl安全连接(一般都使用) props.put("mail.smtp.ssl.enable","true"); props.put("mail.smtp.ssl.socketFactory",sf); //创建会话 Sessionsession=Session.getInstance(props); //获取邮件对象 //发送的消息,基于观察者模式进行设计的 Messagemsg=newMimeMessage(session); //设置邮件标题 msg.setSubject(emailTitle); //设置邮件内容 //使用StringBuilder,因为StringBuilder加载速度会比String快,而且线程安全性也不错 StringBuilderbuilder=newStringBuilder(); //写入内容 builder.append("\n"+emailContent); //写入我的官网 builder.append("\n官网:"+"https://www.hbuecx.club"); //定义要输出日期字符串的格式 SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); //在内容后加入邮件发送的时间 builder.append("\n时间:"+sdf.format(newDate())); //设置显示的发件时间 msg.setSentDate(newDate()); //设置邮件内容 msg.setText(builder.toString()); //设置发件人邮箱 //InternetAddress的三个参数分别为:发件人邮箱,显示的昵称(只用于显示,没有特别的要求),昵称的字符集编码 msg.setFrom(newInternetAddress(myEmailAccount,"你好!","UTF-8")); //得到邮差对象 Transporttransport=session.getTransport(); //连接自己的邮箱账户 //密码不是自己QQ邮箱的密码,而是在开启SMTP服务时所获取到的授权码 //connect(host,user,password) transport.connect(myEmailSMTPHost,myEmailAccount,myEmailPassword); //发送邮件 transport.sendMessage(msg,newAddress[]{newInternetAddress(toEmailAddress)}); //将该邮件保存到本地 OutputStreamout=newFileOutputStream("MyEmail.eml"); msg.writeTo(out); out.flush(); out.close(); transport.close(); } }
//toEmailAddress目标邮箱地址 //emailTitle邮件标题 //emailContent邮件内容 SendmailUtil.sendEmail(toEmailAddress,emailTitle,emailContent);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。