HtmlEmail实现简单发送邮件

  一般发送邮件的话系统项目中可能会用到,像一些通知信息自动发送等,会用到发送邮件的情况,发送邮件有好多种,包括设置各种格式,添加图片附件等,当然今天我们先看一下怎么实现发送成功。

  工欲善其事必先利其器,开始之前,一定要引入依赖 ,不然程序会报错

 

  引入pom.xml文件

<!--发送邮件引入jar包-->
<dependency >
    <groupId >javax.mail </groupId >
    <artifactId >mail </artifactId >
    <version >1.4.6 </version >
</dependency >
<dependency >
    <groupId >com.sun.mail </groupId >
    <artifactId >javax.mail </artifactId >
    <version >1.5.5 </version >
</dependency >

  

引入依赖之后,我们就可以写发送邮件的测试类了

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
/**
 * @author pillar
 * @date 2019-05-10
 */

public class testMail {
    public static void main(String[] args) {
        String msg="testMail: hello word";
        testMail.sendMailMessage(msg);
    }
     /**
       * 发送邮件实现类
       * @param msg
       */
    public static void sendMailMessage(String msg) {
        try {
            //邮箱服务器地址如:mail.qq.com
            String hostName ="139.159.XXX";
            // 帐号与密码
            String userName ="用户名";
            String password = "密码";
            // 发件人
            String fromAddress ="用户名@XXX.com";
            // 发件人姓名
            String fromName = "pillarzhang";
            HtmlEmail email=new HtmlEmail();
            email.setHostName(hostName);// 设置smtp服务器
            email.setAuthentication(userName, password);// 设置授权信息
            email.setCharset("utf-8");
            email.setFrom(fromAddress, fromName, "utf-8");// 设置发件人信息
            email.setSubject("testMail");// 设置主题
            email.setHtmlMsg(msg);// 设置邮件内容
            email.addTo("1208699589@qq.com", "pillarzhang", "utf-8");
            System.err.println(email.getSmtpPort());
            System.err.println(email.getHostName());
            String res = email.send();// 发送邮件
            System.err.println(res);
        } catch (EmailException e) {
            System.err.println("邮件发送失败");
            e.printStackTrace();
        }
    }
}

  

  如果要用qq,163等其他邮箱做服务器测试注意25端口和授权码的设置   否则可能会提示发送失败哦

  这里我用的是我本地邮箱服务器地址,启动测试执行之后,qq邮箱就会收到邮件了!

  邮件可以正常发送邮件了,当然如有不当之处请多多指正,一起交流学习进步!

 

posted @ 2019-05-11 09:34  pillarzhang  阅读(9378)  评论(0编辑  收藏  举报