使用到相关的jar
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
package com.lmcloud.merchant.util;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
public class MailUtil {
private static final String HOST = "smtp.163.com";
private static final Integer PORT = 25;
private static final String USERNAME ="**@163.com";
private static final String PASSWORD = "****";//校验码
private static final String emailForm = "**@163.com";
private static final String timeout = "5000";
private static final String personal ="**@163.com";
private static final String subject ="subject"; //主题
private static final String html = "email:123456";
private static JavaMailSenderImpl mailSender = createMailSender();
/**
* 邮件发送器
*
* @return 配置好的工具
*/
private static JavaMailSenderImpl createMailSender() {
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(HOST);
sender.setPort(PORT);
sender.setUsername(USERNAME);
sender.setPassword(PASSWORD);
sender.setDefaultEncoding("Utf-8");
Properties p = new Properties();
p.setProperty("mail.smtp.timeout", timeout);
p.setProperty("mail.smtp.auth", "true");
sender.setJavaMailProperties(p);
return sender;
}
/**
* 发送邮件
*
* @param to 接受人
* @param
* @param html 发送内容
* @throws
* @throws UnsupportedEncodingException 异常
*/
public static void sendMail(String to, String html) throws MessagingException,UnsupportedEncodingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 设置utf-8或GBK编码,否则邮件会有乱码
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
messageHelper.setFrom(emailForm, personal);
messageHelper.setTo(to);
messageHelper.setSubject(subject);
messageHelper.setText(html, true);
// messageHelper.addAttachment("", new File(""));//附件
mailSender.send(mimeMessage);
}
public static void main(String[] args) throws UnsupportedEncodingException, MessagingException {
sendMail("1326112952@qq.com","邮件内容");
}
}
用户名和发送人(emailForm)要一致。
针对于本地测试是可以的,但是在服务器上发送失败,原因是因为阿里云ECS默认禁用25端口导致发邮件失败:Couldn't connect to host, port: smtp.example.com) -- 链接(https://majing.io/posts/10000009811178)