Java发送邮件的基本配置与步骤

这里简单介绍一种利用Java来发送邮件的方法。

1 Maven的POM.xml文件加载jar包

1
2
3
4
5
6
7
8
9
10
11

<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>

2 编写邮件发送的工具类

这里需要编写一个邮件发送的工具类,以后在其他的代码中只需要调用这个工具类,传入几个参数就可以直接发送邮件了。

工具类代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class EmailUtils {

public static void SendEmailInfoUser(String sendAddress, String title, String content,String copysendAddress) throws Exception {
Properties properties = new Properties();
//设置服务器名称
properties.setProperty("mail.host", "smtp.163.com");
//设置邮件传输协议
properties.setProperty("mail.transport.protocol", "smtp");
//设置是否要验证服务器用户名和密码
properties.setProperty("mail.smtp.auth", "true");
// 1.创建客户端与邮箱服务器的Session对象
Session session = Session.getInstance(properties);
// 2.开启session的debug模式,方便查看发送email的运行状态
session.setDebug(true);
// 3.通过session得到transport传输对象
Transport transport = session.getTransport();
// 4.使用用户名密码连接上邮箱服务器,此处的密码需要到邮箱开启服务设置
transport.connect("smtp.163.com", "[email protected]", "password");
// 5.创建邮件
Message message = createSimpleMail(session, sendAddress, title, content,copysendAddress);
// 6.发送邮件
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}

private static Message createSimpleMail(Session session, String sendAddress, String title, String content,String copysendAddress) throws Exception{
// 创建邮件对象
MimeMessage message = new MimeMessage(session);
// 指明邮件的发件人
message.setFrom(new InternetAddress("[email protected]"));
// 指明邮件的收件人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(sendAddress));
// 邮件的标题
message.setSubject(title);
// 邮件的内容
message.setContent(content, "text/html;charset=UTF-8")
// 设置抄送人
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(copysendAddress));
return message;
}
}
-------------本文结束感谢您的阅读-------------