java怎么实现发送邮件功能

  介绍

这篇文章给大家分享的是有关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怎么实现发送邮件功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

java怎么实现发送邮件功能