引入依賴
郵件實體類
可用郵件服務器地址(網易爲例)
郵件工具類
import com.me.beans.Mail; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import java.util.HashSet; import java.util.Set; @Slf4j public class MailUtil { public static boolean send(Mail mail) { // 發送者郵箱 String from = "@163.com"; // 發送者授權碼(第三方客戶端時用密碼會報550 User has no permission這樣的錯誤,需要去授權) String pass = ""; // 郵件服務器端口 int port = 25; // SMTP服務器 // 郵件服務器地址 String host = "smtp.163.com"; // 暱稱 String nickname = ""; HtmlEmail email = new HtmlEmail(); try { email.setHostName(host); email.setCharset("UTF-8"); for (String str : mail.getReceivers()) { email.addTo(str); } email.setFrom(from, nickname); email.setSmtpPort(port); email.setAuthentication(from, pass); email.setSubject(mail.getSubject()); email.setMsg(mail.getMessage()); email.send(); log.info("{} 發送郵件到 {}", from, StringUtils.join(mail.getReceivers(), ",")); return true; } catch (EmailException e) { log.error(from + "發送郵件到" + StringUtils.join(mail.getReceivers(), ",") + "失敗", e); return false; } } public static void main(String[] args) { Set<String> receivers = new HashSet<>(); receivers.add("@qq.com"); Mail mail = Mail.builder().subject("測試郵件").message("測試信息").receivers(receivers).build(); send(mail); } }