阿里云出于安全考虑默认关闭25端口,开发的是465端口,我们只讲怎么发送邮件。[坑:阿里企业邮箱不支持邮件内容HTML含有URL连接,URL连接将导致无法正常发送邮件]
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.18</version>
</dependency>
demo代码:
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;
import org.springframework.stereotype.Component;
import com.sun.mail.util.MailSSLSocketFactory;
//关键代码
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
MailAccount account = new MailAccount();
account.setHost("smtp.mxhichina.com");
account.setPort(465);
account.setAuth(true);
account.setSslEnable(true);
//发送邮件的邮箱(主动方)
account.setFrom("xxxxx@xxxx.com");
//发送邮件的用户(主动方,这里设了个邮箱,你可以设置成其它业务字符串)
account.setUser("xxxxx@xxxx.com");
//发送邮件的邮箱密码(主动方)
account.setPass("xxxxxxxxxxxxxx");
account.setCharset(CharsetUtil.CHARSET_UTF_8);
account.setCustomProperty("mail.smtp.ssl.socketFactory", sf);
MailUtil.send(account,
CollUtil.newArrayList("123456@xx.com"),//接收邮件的邮箱(被动方)
"xxx文字",//邮件主题,可以理解成标题
“正文HTML内容文字”,//你的需要发送的HTML内容
true//说明发送的是HTML邮件类型
);