邮箱使用的两种协议
1.POP/SMTP协议
POP/SMTP协议是所有邮箱都支持的协议,无论你是126邮箱、qq邮箱还是微软的Outlook。但是他们不是邮箱的默认协议,需要对邮箱进行设置,获取邮箱的授权码(不是邮箱密码)。
2.基于Exchange账户的协议
Exchange账户是邮箱的默认协议,他的优点在于他无需配置,我们可以使用微软提供的第三方jar包:[ews-java-api](https://mvnrepository.com/artifact/com.microsoft.ews-java-api/ews-java-api)
进行连接使用。
两种连接方式的工具类
1.POP/SMTP方式
引入jar包:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
import java.security.Security;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
/**
* @author tx
* @version 1.0
* @date 2019/8/23 22:38
*/
public class MailTool {
/**
* 发送邮件
*
* @param to 接收者邮箱
* @param subject 邮件主题
* @param content 邮件内容
* @return success 发送成功 failure 发送失败
* @throws Exception
*/
public static String sendMail(String to, String subject, String content, String filePath) throws Exception {
if (to != null) {
try {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())