JAVA发邮箱(带附件)   

    简单整理一下java发邮箱功能 项目是maven不会maven的直接把里面的jar包和java文件拿出来 自己建个项目 接下来上代码了


    普通的发邮箱方式:SimpleEmail01.java


package com.yin.TestEmail;


import org.apache.commons.mail.EmailException;

import org.apache.commons.mail.SimpleEmail;



/**
 * 最简单的邮件 新浪邮箱为例
 * 
 * @author ywj
 *
 */
public class SimpleEmail01 {
    public static void main(String[] args) throws EmailException {
        SimpleEmail email = new SimpleEmail();
        // 新浪免费邮箱发信(smtp)服务器的地址
        email.setHostName("smtp.sina.com");
        // smtp的端口号
        email.setSmtpPort(25);
        // 设置发邮箱时的账号和密码 这个怎么来的自己百度新郎stmp账号和密码
        email.setAuthentication("yin18502071740@sina.com", "xxxxxx");
        // 支持SSL加密的话就开启这个,不过也要设置SSL加密下的smtp端口(新浪没开启好像,QQ有开启)
        // email.setSSLOnConnect(true);
        // 发件人 当然是我啦
        email.setFrom("yin18502071740@sina.com");
        // 邮箱标题
        email.setSubject("新年快乐");
        // 邮箱内容
        email.setMsg("你好,尹先生,新年快乐");
        // 收件人 多个人就多行addTo
        email.addTo("526614527@qq.com");
        email.addTo("18502071740@163.com");
        // 发送 就这么简单
        email.send();
    }
}

blob.pngblob.png

最简单的邮件(带附件)SimpleEmail02.java



package com.yin.TestEmail;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
/**
 * 最简单的邮件(带附件) 新浪邮箱为例
 * 
 * @author ywj
 *
 */
public class SimpleEmail02 {
    public static void main(String[] args) throws EmailException, MalformedURLException {
        // 创建一个带附件的EmailAttachment对象(看英文就知道是带附件的Attachment...)
        EmailAttachment attachment = new EmailAttachment();
        // 设置路径
        attachment.setPath("D://linkinpark.png");
        // 设置类型
        attachment.setDisposition(EmailAttachment.ATTACHMENT);
        // 设置描述
        attachment.setDescription("我的最爱摇滚乐队");
        // 设置附件名字(名字一定要带格式 不然到了邮箱里头就是个未知格式的文件)
        attachment.setName("林肯公园.png");
        //再加一个附件 路径是网址
        EmailAttachment attachment2 = new EmailAttachment();
        URL url = new URL("https://www.baidu.com/img/bd_logo1.png");
        attachment2.setURL(url);
        attachment2.setDisposition(EmailAttachment.ATTACHMENT);
        attachment2.setDescription("百度图片");
        attachment2.setName("百度图片.png");
        // 创建邮件 不再是普通的SimpleEmail对象了
        MultiPartEmail email = new MultiPartEmail();
        // 下面的和SimpleEmail一样
        email.setHostName("smtp.sina.com");
        email.setSmtpPort(25);
        email.setAuthentication("yin18502071740@sina.com", "xxxxxx");
        email.setFrom("yin18502071740@sina.com");
        email.setSubject("新年快乐");
        email.setMsg("你好,尹先生,新年快乐");
        email.addTo("526614527@qq.com");
        //注意要加上附件了 多个同样代码重复
        email.attach(attachment);
        email.attach(attachment2);
        // 发送
        email.send();
    }
}

blob.png

最简单的邮件(带html格式的) SimpleEmail03.java

package com.yin.TestEmail;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
/**
 * 最简单的邮件(带html格式的) 新浪邮箱为例
 * 
 * @author ywj
 *
 */
public class SimpleEmail03 {
    public static void main(String[] args) throws EmailException {
        HtmlEmail email = new HtmlEmail();
        // 新浪免费邮箱发信(smtp)服务器的地址
        email.setHostName("smtp.sina.com");
        // smtp的端口号
        email.setSmtpPort(25);
        // 设置发邮箱时的账号和密码 这个怎么来的自己百度新郎stmp账号和密码
        email.setAuthentication("xxxxx@sina.com", "xxxxxx");
        // 支持SSL加密的话就开启这个,不过也要设置SSL加密下的smtp端口(新浪没开启好像,QQ有开启)
        // email.setSSLOnConnect(true);
        // 发件人 当然是我啦
        email.setFrom("yin18502071740@sina.com");
        // 邮箱标题
        email.setSubject("新年快乐");
        // 邮箱内容 
        /*
         * 记住 html内容要有html head body 这三个(其他的我没试过) 
         * 不然QQ邮箱就识别为群发的垃圾邮件,收不了的
         */
        email.setHtmlMsg("<html><head></head><body><font color='red'>新年快乐 尹先生</font></body></html>");
        //设置编码
        email.setCharset("utf-8");
        // 收件人
        email.addTo("526614527@qq.com");
        email.addTo("18502071740@163.com");
        // 发送 就这么简单
        email.send();
    }
}

blob.png