介绍
这篇文章给大家分享的是有关java怎么实现发送邮件功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
<强>前言强>
前段时间做一个紧急的功能,其中有部分需求是需要发邮件通知,通过查阅以及实验,很快的写了个发送邮件的功能,现在整理一下记录下来。
<强>发送邮件强>
一、在pom中引入相关依赖
, & lt; dependency> ,,& lt; groupId> javax.mail ,,& lt; artifactId> javax.mail-api ,,& lt; version> 1.5.6 & lt;/dependency> , & lt; dependency> ,,& lt; groupId> org.apache.commons ,,& lt; artifactId> commons-email ,,& lt; version> 1.4 & lt;/version> & lt;/dependency>
二,发送邮件的工具类
package com.zhanghan; , import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; , import java.util.ArrayList; import 并不知道; , @ service public class  EmailServiceImpl implements EmailService  { @Override才能 public 才能;void  sendMail(地址、String String 主题,,String htmlMsg,, Boolean isSSL), throws EmailException { , ,,,if (StringUtils.isEmpty(地址),| |,StringUtils.isEmpty(主题),| |,StringUtils.isEmpty (htmlMsg)), { ,,,,,throw new EmailException (); ,,,} , ,,,try { ,,,,,HtmlEmail email =, new HtmlEmail (); ,,,,,List, list =, new ArrayList (); ,,,,,list.add(地址); ,,,,,String [], tos =, list.toArray (new 字符串(list.size ())); , ,,,,,//,这里是SMTP发送服务器的名字:163年的如下:“smtp.163.com" ,,,,,email.setHostName (“smtp.exmail.qq.com"); ,,,,,if (isSSL), { ,,,,,,,email.setSSLOnConnect(真正的); ,,,,,,,email.setSmtpPort (465); ,,,,,} ,,,,,//,字符编码集的设置 ,,,,,email.setCharset (“UTF-8"); ,,,,,//,收件人的邮箱 ,,,,,email.addTo (tos); ,,,,,//,发送人的邮箱以及发件人名称 ,,,,,email.setFrom (“XXX@163.com",,“zhanghan"); ,,,,,//,如果需要认证信息的话,设置认证:用户名:密码。分别为发件人在邮件服务器上的注册名称和密码 ,,,,,email.setAuthentication (“XXX@163.com",,“yyyy"); ,,,,,//,要发送的邮件主题 ,,,,,email.setSubject(主题); ,,,,,//,要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签 ,,,,,email.setHtmlMsg (htmlMsg); , ,,,,,String result1 =, email.send (),,,,,,, , ,,,},catch (Exception e), { ,,,,,e.printStackTrace (); ,,,,,throw new EmailException (); ,,,} ,,} }
三,遇到的坑
在本地测试没有问题,我们的测试服务在阿里云上,阿里云对发送的时候是失败;追踪日志发现原来是阿里云将发送邮件的默认端口25关闭,需要将端口改成465。
感谢各位的阅读!关于“java怎么实现发送邮件功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!