HtmlEmail实现简单发送邮件

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

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

HtmlEmail实现简单发送邮件_第1张图片

引入pom.xml文件



    javax.mail 
    mail 
    1.4.5 


    com.sun.mail 
    javax.mail 
    1.5.5 

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

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("[email protected]", "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邮箱就会收到邮件了!

HtmlEmail实现简单发送邮件_第2张图片

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

你可能感兴趣的:(java)