在阿里雲上面可行的郵件發送模板


1. 首先是dto層的Mail類

public class Mail implements Serializable {
    /**
     * 序列號
     */
    private static final long serialVersionUID = -3562218214168975242L;
    /**
     * 郵件編碼
     */
    public static final String ENCODEING = "UTF-8";
    /**
     * 服務器地址
     */
    private String host;
    /**
     * 服務器端口號
     */
    private String portNumber;
    /**
     * 發件人的郵箱
     */
    private String sender;
    /**
     * 收件人的郵箱
     */
    private String receiver;
    /**
     * 發件人昵稱
     */
    private String name;
    /**
     * 賬號
     */
    private String username;
    /**
     * 密碼
     */
    private String password;
    /**
     * 主題
     */
    private String subject;
    /**
     * 信息(支持HTML)
     */
    private String message;
}
記得生成getter和setter方法

2. 其次是MailUtil工具類
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

public class MailUtil {
    public boolean send(Mail mail) {
        //發送email對象
        HtmlEmail email = new HtmlEmail();
        try {
            //這里是SMTP發送服務器的名字
            email.setHostName(mail.getHost());
            //端口號不為空時,用戶自定義的端口號為SMTP發送服務器端口號
            if (!"".equals(mail.getPortNumber())) {
                email.setSSLOnConnect(true);
                email.setSslSmtpPort(mail.getPortNumber());
            }
            //字符編碼集的設置
            email.setCharset(Mail.ENCODEING);
            //收件人的郵箱
            email.addTo(mail.getReceiver());
            //發送人的郵箱
            email.setFrom(mail.getSender(), mail.getName());
            // 如果需要認證信息的話,設置認證:用戶名-密碼。分別為發件人在郵件服務器上的注冊名稱和密碼
            email.setAuthentication(mail.getUsername(), mail.getPassword());
            // 要發送的郵件主題
            email.setSubject(mail.getSubject());
            // 要發送的信息,由於使用了HtmlEmail,可以在郵件內容中使用HTML標簽
            email.setMsg(mail.getMessage());
            // 發送
            email.send();
            return true;
        } catch (EmailException e) {
            e.printStackTrace();
            return false;
        }
    }
這個類里最上面兩行導入的包需要commons-email.jar的jar包 另外寫這個功能還需要mail.jar的jar包 本人用maven創建的項目就直接到依賴包網站直接導入這兩個jar包了 3.調用工具類發郵件
public void test() {
        Mail mail = new Mail();
        mail.setHost("smtp.qq.com");           //設置郵件服務器,如果不用QQ郵箱的,自己找找看相關的
        mail.setPortNumber("465");             //設置郵件服務器端口號,默認25
        mail.setSender("發送人的郵箱,這里用qq");             //發送人
        mail.setName("xx公司");                    //發送人昵稱
        mail.setReceiver("接收人的郵箱,可以隨便寫");           //接收人
        mail.setUsername("登陸賬號");           //登錄賬號,一般都是和郵箱名一樣
        mail.setPassword("qq郵箱授權碼");  //QQ郵箱登錄第三方客戶端時,密碼框請輸入“授權碼”進行驗證。其他的密碼具體查看郵件服務器的說明

        //發送郵件
        
        // 這里可以寫一些郵件內容或者計算功能
        
        //定義郵件標題
        String title = "標題 "
        mail.setSubject(title);

        //定義郵件內容
        StringBuilder emailContent = new StringBuilder();
        //以下隨便改
        emailContent.append("內容<br/>");
        emailContent.append("...........");
        mail.setMessage(String.valueOf(emailContent));
        
        if (new MailUtil().send(mail)) {
            System.out.println("發送成功");
        } else {
            System.out.println("發送失敗");
        }
    }
這樣子,郵件發送功能就完成了!
可喜可賀,可喜可賀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM