Java发送QQ邮件的3种形式(commons-email)

第一步:项目引入相应资源   commons-email-xx.jar,mail.jar,activation.jar

maven项目pom引入 (注意对应配置的版本问题哦~)     可参考 --> maven依赖查询

    
    
      javax.mail
      mail
      1.4.1
    
      
          activation
          activation
          1.0.2
      
    
      org.apache.commons
      commons-email
      1.5
    

 


发送前注意需要对要发送的邮箱进行相应的设置,可参考 QQ邮箱开启SMTP服务的步骤

Java发送QQ邮件的3种形式(commons-email)_第1张图片

开启下面的2项

Java发送QQ邮件的3种形式(commons-email)_第2张图片

记住你的授权码哦,后面要使用到!!

Java发送QQ邮件的3种形式(commons-email)_第3张图片

Java发送QQ邮件的3种形式(commons-email)_第4张图片


第二步:发送邮件   (3种形式可供参考)

/**
 *  发送QQ邮件
 *  方式①:发送邮件的简单代码
 *  方式②:发送邮件中添加附件
 *  方式③:发送HTML的邮件格式
 */
public class EmailTest {

    @Test  //发送邮件的简单代码
    public void testSimpleEmail() throws Exception {
        SimpleEmail email = new SimpleEmail(); //创建一个最简单的email对象
        //这里我使用的是QQ,使用的是smtp服务器,需要身份验证,大家如果是使用其它服务器,可以自己去网上进行搜索
        email.setHostName("smtp.qq.com");
        //POP3服务器(端口995)
        //SMTP服务器(端口465或587)。
        email.setSmtpPort(465);
        //验证信息(发送的邮箱地址与密码) 注:这里的密码是授权码
        email.setAuthenticator(new DefaultAuthenticator("[email protected]", "填写你的授权码"));
        email.setSSLOnConnect(true); // 是否启用SSL
        email.setFrom("[email protected]"); //发送邮件的地址(和验证信息的地址一样)
        email.setSubject("第一封简单邮件");  //邮件的标题
        email.setMsg("简单的邮件来了哦!!!"); //邮件的内容
        email.addTo("[email protected]"); //发送给哪一个邮件
        email.send();  //进行邮件发送
    }

    @Test  //发送邮件中添加附件
    public void testEmailAttachment() throws Exception {
        EmailAttachment attachment = new EmailAttachment(); //创建一个附件对象
        attachment.setPath("POITestImage/1.jpg");  //放一张项目中的图片(指向真实的附件)
        attachment.setDisposition(EmailAttachment.ATTACHMENT); //完成附件设置
        attachment.setDescription("这张图片是一个..."); //设置附件的描述
        attachment.setName("1.jpg"); //设置附件的名称
        //创建email对象(MultiPartEmail可以操作附件)
        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.qq.com");
        email.setSmtpPort(465);
        //验证信息(发送的邮箱地址与密码) 注:这里的密码是授权码
        email.setAuthenticator(new DefaultAuthenticator("[email protected]", "填写你的授权码"));
        email.setSSLOnConnect(true); // 是否启用SSL
        email.setFrom("[email protected]"); //发送邮件的地址(和验证信息的地址一样)
        email.addTo("[email protected]");  //发送给哪一个邮件
        email.setSubject("这是一张图片"); //邮件标题
        email.setMsg("我发了一张图片给你看哦!");  //邮件内容
        email.attach(attachment); //把附件加到邮件中
        email.send(); //发送邮件
    }

    @Test  //发送HTML的邮件格式
    public void testHtml() throws Exception {
        HtmlEmail email = new HtmlEmail(); // 创建可以写Html的email对象
        email.setHostName("smtp.qq.com");
        email.setSmtpPort(465);
        email.setAuthenticator(new DefaultAuthenticator("[email protected]", "填写你的授权码"));
        email.setSSLOnConnect(true); // 是否启用SSL
        email.setCharset("UTF-8");   //发送的时候如果乱码,配置相应的编码
        email.addTo("[email protected]"); //发送给哪一个邮件
        email.setFrom("[email protected]",  "xx");//xx为发件人名字
        email.setSubject("这里面写HTML,非常厉害");
        //设置HTML的信息
        String url = "https://www.baidu.com/";
        email.setHtmlMsg("

www.baidu.com

点击进入百度"); //email.setTextMsg("这个就是很一般的显示"); //也可以配置普通的信息 email.send();//发送邮件 } }

效果图:

Java发送QQ邮件的3种形式(commons-email)_第5张图片

你可能感兴趣的:(-----❺,框架/第三方工具)