通過Spring Mail Api傳送郵件
【Spring Mail API】
Spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封裝,且只提供了郵件傳送的封裝。
SimpleMailMessage: 對郵件的一個簡單封裝,只能用於表示一個純文字的郵件,也不能包含附件等。
JavaMailSenderImpl: 郵件傳送器,主要提供了郵件傳送介面、透明建立Java Mail的MimeMessage、及郵件傳送的配置(如:host/port/username/password...)。
MimeMailMessage、MimeMessageHelper:對MimeMessage進行了封裝。Spring還提供了一個回撥介面MimeMessagePreparator, 用於準備JavaMail的MIME信件
一下程式碼轉載自:http://www.blogjava.net/tangzurui/archive/2008/12/08/244953.html
1.傳送簡單的文字郵件
- package net.xftzr.mail;
- import java.util.Properties;
- import org.springframework.mail.SimpleMailMessage;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- /**
- * 本類測試簡單郵件 直接用郵件傳送
- *
- * @author Administrator
- *
- */
- publicclass SingleMailSend
- {
-
publicstatic
- {
- JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
- // 設定mail server
- senderImpl.setHost(" smtp.163.com ");
- // 建立郵件訊息
- SimpleMailMessage mailMessage = new SimpleMailMessage();
- // 設定收件人,寄件人 用陣列傳送多個郵件
-
// String[] array = new String[] {"
- // mailMessage.setTo(array);
- mailMessage.setTo(" [email protected] ");
- mailMessage.setFrom(" [email protected] ");
- mailMessage.setSubject(" 測試簡單文字郵件傳送! ");
- mailMessage.setText(" 測試我的簡單郵件傳送機制!! ");
- senderImpl.setUsername(" userName "); // 根據自己的情況,設定username
- senderImpl.setPassword(" password "); // 根據自己的情況, 設定password
- Properties prop = new Properties();
- prop.put(" mail.smtp.auth ", " true "); // 將這個引數設為true,讓伺服器進行認證,認證使用者名稱和密碼是否正確
- prop.put(" mail.smtp.timeout ", " 25000 ");
- senderImpl.setJavaMailProperties(prop);
- // 傳送郵件
- senderImpl.send(mailMessage);
- System.out.println(" 郵件傳送成功.. ");
- }
- }
2.傳送簡單的html郵件
org.springframework.mail.javamail.MimeMessageHelper是處理JavaMail郵件常用的順手元件之一。它可以讓你擺脫繁複的javax.mail.internetAPI類
- package net.xftzr.mail;
- import java.util.Properties;
- import javax.mail.internet.MimeMessage;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import org.springframework.mail.javamail.MimeMessageHelper;
- /**
- * 本類測試html郵件
- *
- * @author sunny
- *
- */
- publicclass HTMLMailDemo
- {
- /**
- * @param args
- */
- publicstaticvoid main(String[] args) throws Exception
- {
- JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
- // 設定mail server
- senderImpl.setHost("smtp.163.com");
- // 建立郵件訊息,傳送簡單郵件和html郵件的區別
- MimeMessage mailMessage = senderImpl.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);
- // 設定收件人,寄件人
- messageHelper.setTo("[email protected]");
- messageHelper.setFrom("[email protected]");
- messageHelper.setSubject("測試HTML郵件!");
- // true 表示啟動HTML格式的郵件
- messageHelper
- .setText(
- "<html><head></head><body><h1>hello!!spring html Mail</h1></body></html>",
- true);
- senderImpl.setUsername("username"); // 根據自己的情況,設定username
- senderImpl.setPassword("password"); // 根據自己的情況, 設定password
- Properties prop = new Properties();
- prop.put("mail.smtp.auth", "true"); // 將這個引數設為true,讓伺服器進行認證,認證使用者名稱和密碼是否正確
- prop.put("mail.smtp.timeout", "25000");
- senderImpl.setJavaMailProperties(prop);
- // 傳送郵件
- senderImpl.send(mailMessage);
- System.out.println("郵件傳送成功..");
- }
- }
3.傳送巢狀圖片的郵件
Email允許新增附件,也允許在multipart信件中內嵌資源。內嵌資源可能是你在信件中希望使用的影象,或者樣式表,但是又不想把它們作為附件。
- package net.xftzr.mail;
- import java.io.File;
- import java.util.Properties;
- import javax.mail.internet.MimeMessage;
- import org.springframework.core.io.FileSystemResource;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import org.springframework.mail.javamail.MimeMessageHelper;
- /**
- * 本類測試郵件中巢狀圖片
- *
- * @author sunny
- *
- */
- publicclass AttachedImageMail
- {
- publicstaticvoid main(String[] args) throws Exception
- {
- JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
- // 設定mail server
- senderImpl.setHost("smtp.163.com");
- // 建立郵件訊息,傳送簡單郵件和html郵件的區別
- MimeMessage mailMessage = senderImpl.createMimeMessage();
- // 注意這裡的boolean,等於真的時候才能巢狀圖片,在構建MimeMessageHelper時候,所給定的值是true表示啟用,
- // multipart模式
- MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
- true);
- // 設定收件人,寄件人
- messageHelper.setTo("[email protected]");
- messageHelper.setFrom("[email protected]");
- messageHelper.setSubject("測試郵件中巢狀圖片!!");
- // true 表示啟動HTML格式的郵件
- messageHelper.setText(
- "<html><head></head><body><h1>hello!!spring image html mail</h1>"
- + "<img src=\"cid:aaa\"/></body></html>", true);
- FileSystemResource img = new FileSystemResource(new File("g:/123.jpg"));
- messageHelper.addInline("aaa", img);
- senderImpl.setUsername("username"); // 根據自己的情況,設定username
- senderImpl.setPassword("password"); // 根據自己的情況, 設定password
- Properties prop = new Properties();
- prop.put("mail.smtp.auth", "true"); // 將這個引數設為true,讓伺服器進行認證,認證使用者名稱和密碼是否正確
- prop.put("mail.smtp.timeout", "25000");
- senderImpl.setJavaMailProperties(prop);
- // 傳送郵件
- senderImpl.send(mailMessage);
- System.out.println("郵件傳送成功..");
- }
- }
說明:嵌入圖片<img src=\"cid:aaa\"/>,其中cid:是固定的寫法,而aaa是一個contentId。
4.傳送包含附件的郵件
- package net.xftzr.mail;
- import java.io.File;
- import java.util.Properties;
- import javax.mail.internet.MimeMessage;
- import org.springframework.core.io.FileSystemResource;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import org.springframework.mail.javamail.MimeMessageHelper;
-
相關推薦
通過Spring Mail Api傳送郵件
【Spring Mail API】 Spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封裝,且只提供了郵件傳送的封裝。 SimpleMailMessage: 對郵件
使用spring的JavaMailSender傳送郵件
步驟: 一:pom.xml <!-- java郵件 --> <dependency> &nb
Centos7 開啟mail函式傳送郵件及sendmail啟動問題
自從換了阿里雲伺服器之後,我也就沒有理過部落格的回覆評論郵件通知功能。前2天有朋友跟我說,之前評論都有郵件通知,現在怎麼沒有了。我想應該是沒有開始支援mail()函式的語言,VPS的好處就是自己可以隨便折騰。於是研究下怎麼開啟mail()函式,本文做個記錄,方便以後可能用到。 我的阿里雲伺服
PHP中呼叫mail()函式傳送郵件所需sendmail的基本配置和html格式的郵件資訊
首先從http://glob.com.au/sendmail上下載sendmail壓縮包;並將其解壓到D:盤中(一般最好不要解壓到C:盤,且目錄不要太長)。 設定一下PHP.ini檔案: [mail function] ; For Win32 only. ; http://
Centos 7使用mail指令傳送郵件的安裝,除錯,測試
Mail是cent7 用來發送郵件的指令,詳細不說,直接上操作。 系統版本:centos7x3.10.0-514.el7.x86_64 如果覺得自身帶的郵件以來包不放心,直接可以用rpm進行刪除。 #rpm -qa |grep mailx sendmail #rpm
[php]mail函式傳送郵件(正文+附件+中文)
<?php $from = "[email protected]"; $to = "[email protected], [email protected]"; $subject = "郵件主題"; $subject = "=?UTF-8
mail命令傳送郵件
(一)首先安裝ssmpt和mailutils: sudo apt-get install ssmtp mailutils (二)接下來編輯配置檔案sudo gedit /etc/ssmtp/ssmt
php mail函式傳送郵件header過長
今天用php的mail函式傳送一個郵件,其中header部分是用html拼出來的一個表格,但發出來之後會發現表格會有部分顯示不正常,比如"<tr><td>a</td><td>b</td><td>c<
Spring+javamail+velocity傳送郵件
最精做到一個專案需要用到郵箱驗證,所研究了一下 首先需要jar包: org.springframework.context.support-3.1.2.RELEASE.jar (封裝了javamail的相關api) mail.jar; velocity-1.4.jar
使用mail/mailx通過office365 SMTP傳送郵件
Mailx是一個智慧郵件處理系統,提供POSIX mailx命令功能,提供MIME、IMAP、POP3、SMTP和S/MIME擴充套件,通過呼叫sendmail來發送郵件。 安裝mailx: # yum install mailx mailx語法 mailx [-BDdEFintv~] [-s sub
Spring(非boot)通過ssl傳送郵件
參考:https://blog.csdn.net/liguo9860/article/details/6874040 我這裡就說一下使用Spring的JavaMailSender如何實現 1. 配置JavaMailSender @Bean public JavaM
用JAVA Spring Mail 傳送HTML格式的郵件,樣式丟失的問題
QQ郵箱網頁版開啟HTML郵件是正常的,用PC版foxmail 或者 手機QQ郵箱APP開啟是不正常的,排版很亂。 主要原因: 使用郵件客戶端檢視郵件,哪怕只是在網頁上看郵件,你的郵件也不要用DIV去做,要用TABLE; 而且也不能用外部呼叫樣式,不能用內部頁面樣式,
spring傳送郵件時遇到錯誤org.springframework.mail.MailAuthenticationException: Authentication failed;
spring 傳送郵件時遇到異常org.springframework.mail.MailAuthenticationException org.springframework.mail.MailAuthenticationException: Authentication
# 阿裏雲ECS通過mail發送郵件
not geo Opens one rmi htm 阿裏雲 mod smtp服務 參考博文 面對疾風 因為阿裏雲默認將目的端口為TCP25的出現流量屏蔽了,所以改用465 ssl端口發送郵件。 yum安裝mailx [Allen@iZm5eh331inajbk110g28m
javax.mail 傳送郵件(工具類)
前言:注意自己郵箱賬號的授權碼 傳送不成功,要設定授權碼(勿掉坑裡) 1.座標 <dependency> <groupId>javax.mail</groupId> <artifactId&
telnet通過smtp傳送郵件
////////////////////////////////////CMD指令////////////////////////////////////////////// cmd telnet smtp.163.com 25 or &nb
通過javamailsenderimpl傳送郵件
參考文章:http://blog.csdn.net/qq_33556185/article/details/51028952 import javax.mail.internet.MimeMessage; import org.springframework.beans.factory.anno
jsp的mail.jar外掛傳送郵件出錯之一
昨晚在測試專案的時候,用到了mail.jar傳送郵件,原來好好的,結果出錯: DEBUG: setDebug:JavaMail version 1.4ea DEBUG:getProvider()returning javax.mail.Provider[TRANSPORT,smtp,com.
JSP如何利用 mail.jar 元件傳送郵件?
我們在註冊、找回密碼等驗證使用者身份時候,經常要用到郵件驗證碼功能。如下圖: JSP常見的郵件傳送是利用mail.jar外掛傳送(下載地址:點選這裡)。 接下來,我將詳細得給有需要的同志展示如何利用mail.jar外掛傳送郵件: 第一步:將mail.jar匯入到自己專案的lib
傳送郵件javax.mail.MessagingException: 501 Syntax: HELO hostname
問題 線上郵件傳送失敗,報異常javax.mail.MessagingException: 501 Syntax: HELO hostname 解決方案 //檢視機器hostname [admin@zyhy-10-1-0-16 ~]$ hostname //檢視host