java 發送簡單郵件(不帶附件)

引入依賴

 

 

郵件實體類

可用郵件服務器地址(網易爲例)

郵件工具類

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);
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章