一、准备工作 添加依赖
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
二、使用网易邮箱为例
2.获取授权码
三、代码
无附件简单邮件
public static void main(String[] args) { try { //简单邮箱的核心对象 SimpleEmail simpleEmail = new SimpleEmail(); //设置发送邮箱的服务信息 simpleEmail.setSmtpPort(25);//网易邮箱端口号,按照所用的邮箱灵活更换对应端口 simpleEmail.setHostName("smtp.163.com");//服务器,例:smtp.qq.com / /设置发件人邮箱的安全验证:用户名、”授权码“ simpleEmail.setAuthentication("XXX163@163.com", "xxx"); simpleEmail.setFrom("xxx163@163.com");//发件人邮箱 simpleEmail.addTo("yyy@qq.com");//收件人邮箱 simpleEmail.addCc("xxx163@163.com");//抄送:报错554时,排除低俗信息,抄送自己可解决 //邮件内容 simpleEmail.setSubject("Test");//标题 simpleEmail.setMsg("hello world");//正文 simpleEmail.setCharset("utf-8");//编码格式 simpleEmail.setSentDate(new Date());//发送时间 //发送 simpleEmail.send(); } catch (EmailException e) { e.printStackTrace(); }
}
带附件邮件
public static void main(String[] args) { try { MultiPartEmail multiPartEmail = new MultiPartEmail(); multiPartEmail.setSmtpPort(587);//qq端口 multiPartEmail.setHostName("smtp.qq.com");//服务器 //发件人验证:用户名,授权码 multiPartEmail.setAuthentication("xxx@qq.com", "aaaaaa"); multiPartEmail.setFrom("xxx@qq.com");//发件人邮箱 multiPartEmail.addTo("yyy@qq.com");//收件人邮箱 //邮件信箱 multiPartEmail.setSubject("您好!");//标题 multiPartEmail.setMsg("收到请回答!");//正文 multiPartEmail.setCharset("utf-8");//字符集 //设置添加附件 EmailAttachment emailAttachment = new EmailAttachment(); //设置文件地址 emailAttachment.setPath("D:\\xx.png");//文件所在磁盘位置及文件名 //设置格式 emailAttachment.setDescription(EmailAttachment.ATTACHMENT); emailAttachment.setName("tempsnip.png");//邮箱显示文件名 //加载到邮件中 multiPartEmail.attach(emailAttachment); //发送时间 multiPartEmail.setSentDate(new Date()); //发送 multiPartEmail.send(); } catch (EmailException e) { e.printStackTrace(); } }