国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用Java Mail發(fā)郵件(包括單發(fā)和群發(fā)),含演示代碼下載

這篇具有很好參考價(jià)值的文章主要介紹了如何使用Java Mail發(fā)郵件(包括單發(fā)和群發(fā)),含演示代碼下載。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景

在我們做業(yè)務(wù)系統(tǒng)開發(fā)時(shí)時(shí),經(jīng)常會(huì)用到 郵件發(fā)送的場(chǎng)景,如 通過郵件通知給注冊(cè)用戶有關(guān)注冊(cè)碼的內(nèi)容,或者 管理的某些設(shè)備有告警了,需要郵件通知相關(guān)維護(hù)人員及時(shí)處理相關(guān)設(shè)備,還有 使用的會(huì)員服務(wù)已經(jīng)到期了,用郵件通知給用戶等等。 在java 世界里如何發(fā)郵件,有很多種方法,下面將圍繞 java mail 來做功能的實(shí)現(xiàn)。

什么是JavaMail

JavaMail,顧名思義,提供給開發(fā)者處理電子郵件相關(guān)的編程接口。它是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。我們可以基于JavaMail開發(fā)出類似于Microsoft Outlook的應(yīng)用程序。

前置條件

要想通過 java 代碼發(fā)送郵件,首先需要開通你郵箱的郵局服務(wù),下面以QQ 郵箱為例,說一下開通步驟。

申請(qǐng)開通郵局服務(wù)(QQ為例)

  1. 進(jìn)入QQ郵箱–》設(shè)置–》POP3/IMAP --》開啟服務(wù)
    java群發(fā)郵件,java,java,開發(fā)語言

  2. 使用手機(jī),發(fā)送開通短信,開啟服務(wù)
    java群發(fā)郵件,java,java,開發(fā)語言

  3. 開通成功,記下授權(quán)碼
    java群發(fā)郵件,java,java,開發(fā)語言
    獲得授權(quán)碼,把它拷貝出來,后面的JAVA代碼需要用到這個(gè)授權(quán)碼。

Java工程

下載依賴組件

我們將使用 JavaMail 進(jìn)行郵件方面的處理, Maven的依賴配置如下:

		<dependency>
		    <groupId>com.sun.mail</groupId>
		    <artifactId>javax.mail</artifactId>
		    <version>1.6.2</version>
		</dependency>

核心代碼

public class MailUtil {
	private static final Logger LOG = LoggerFactory.getLogger(MailUtil.class); 
	
	/**
	 * 發(fā)送郵件 
	 * @param user
	 *            發(fā)件人郵箱
	 * @param password
	 *            郵箱授權(quán)碼
	 * @param host
	 *            host
	 * @param from
	 *            發(fā)件人
	 * @param toArray
	 *            接收者郵箱數(shù)組
	 * @param subject
	 *            郵件主題
	 * @param content
	 *            郵件內(nèi)容
	 * @return CommonProcResult.code = 0 表示成功;<br/>
	 * 		      CommonProcResult.code != 0 表示失敗,失敗原因可以看 CommonProcResult.desc
	 */
	public CommonProcResult sendMail(String user, String password, String host,
			String from, String[] toArray, String subject, String content) {
		
		CommonProcResult ret = CommonProcResultFactroy.makeResultForInnerError("未實(shí)現(xiàn).");
		
		try {
			if (null !=  toArray  && toArray.length > 0) {
				Properties props = System.getProperties();

				// 選擇服務(wù)類型
				props.put("mail.smtp.host", host);
				// 設(shè)置服務(wù)器驗(yàn)證
				props.put("mail.smtp.auth", "true");
				// 設(shè)置傳輸協(xié)議
				props.put("mail.transport.protocol", "smtp");

				MailAuthenticator auth = new MailAuthenticator(user, password);

				Session session = Session.getInstance(props, auth);
				//session.setDebug(true);
				session.setDebug(false);

				MimeMessage message = new MimeMessage(session);
				message.setFrom(new InternetAddress(from));
				
				//郵件接收方
				int len= toArray.length;  
			    InternetAddress address[]=new InternetAddress[len];  
				for (int i = 0; i < toArray.length; i++) {
					address[i]=new InternetAddress(toArray[i]);
				}
				message.addRecipients(Message.RecipientType.TO, address);				
				
				// 主題
				message.setSubject(subject);
				
				// 正文
				MimeBodyPart mbp1 = new MimeBodyPart();
				mbp1.setContent(content, "text/html;charset=utf-8");
				// 整個(gè)郵件:正文+附件
				Multipart mp = new MimeMultipart();
				mp.addBodyPart(mbp1);
				message.setContent(mp);
				message.setSentDate(new Date());
				message.saveChanges();

				// Transport trans = session.getTransport("smtp");
				Transport.send(message);

				//System.out.println("send mail ok:"  + message.toString());

				ret = CommonProcResultFactroy.makeResultForOk("");

			} else {
				ret = CommonProcResultFactroy.makeResultForInvalidParamValue(" toArray");
			}

		} catch (Exception e) {
			LOG.error("An exception has been occured when send email. Exception=" + e.getMessage());
			ret = CommonProcResultFactroy.makeResultForInnerException(e.getMessage());
			e.printStackTrace();
		}
		
		return ret;
	}

	//測(cè)試代碼
	public static void main(String[] args) {
		MailUtil operation = new MailUtil();
		String user = "發(fā)送人的郵箱";	//如xxxxxxx@qq.com
		String password = "郵箱的授權(quán)密碼";
		String host = "郵箱主機(jī)";//如smtp.qq.com
		String from = "發(fā)件人的郵箱";	//如xxxxxxx@qq.com

		String to = "收件人的郵箱";  //支持群發(fā),可以寫多個(gè)收件郵箱,如  bbbbbb@yeah.net;ccccccc@qq.com
		String subject = "java 發(fā)送郵件測(cè)試";
		//郵箱內(nèi)容
		StringBuffer sb = new StringBuffer();
		String yzm = Long.toString(System.currentTimeMillis());

		sb.append("<!DOCTYPE>"
						+ "<div bgcolor='#f1fcfa'   style='border:1px solid #d9f4ee; font-size:14px; line-height:22px; color:#005aa0;padding-left:1px;padding-top:5px;   padding-bottom:5px;'><span style='font-weight:bold;'>溫馨提示:</span>"
						+ "<div style='width:950px;font-family:arial;'>歡迎xx系統(tǒng),您的注冊(cè)碼為:<br/><h2 style='color:green'>"
						+ yzm
						+ "</h2><br/>本郵件由系統(tǒng)自動(dòng)發(fā)出,請(qǐng)勿回復(fù)。<br/>感謝您的使用。<br/>xx網(wǎng)絡(luò)科技公司</div>"
						+ "</div>");
		try {
			String[] toArray = to.split(";");
			
			CommonProcResult ret = operation.sendMail(user, password, host, from, toArray, subject, sb.toString());
			
			System.out.println("ret code=" + ret.getCode() + ", ret desc=" +   ret.getDesc());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

發(fā)送結(jié)果

java群發(fā)郵件,java,java,開發(fā)語言
登錄收件人的郵箱,里可看到 測(cè)試代碼發(fā)出的郵件收到了。

總結(jié)

使用JavaMail可以很方便的在Java客戶端實(shí)現(xiàn) 發(fā)郵件的功能,另外很好的實(shí)現(xiàn)了JavaMail API的框架還有James、Spring Mail。

需要完整演示代碼的可點(diǎn)擊下方。
完整程序代碼下載
注意:程序代碼需要代入你的郵箱信息才能正確工作。文章來源地址http://www.zghlxwxcb.cn/news/detail-568588.html

到了這里,關(guān)于如何使用Java Mail發(fā)郵件(包括單發(fā)和群發(fā)),含演示代碼下載的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java使用ews-java-api發(fā)送郵件(包括附件和內(nèi)聯(lián)圖片處理)

    不廢話,開整 注意:普通郵件詳情和帶內(nèi)聯(lián)圖片郵件詳情選擇其一。 有疑問歡迎留言。

    2024年02月11日
    瀏覽(48)
  • 使用群暉NAS Mail Server搭建個(gè)性化郵件系統(tǒng)

    使用群暉NAS Mail Server搭建個(gè)性化郵件系統(tǒng)

    一個(gè)頂級(jí)域名 可以獲取公網(wǎng)IP的寬帶 路由使用DDNS功能,或使用群暉自帶DDNS,解析頂級(jí)域名 可以做“端口映射”的路由器 step1:安裝套件 登錄群暉NAS,打開[套件中心],搜索“mail”,安裝如下兩個(gè)套件:“MailPlus server”、“MailPlus”; step2:安裝MailPlus server服務(wù)端 打開“M

    2024年02月16日
    瀏覽(25)
  • 外貿(mào)群發(fā)郵件最好的軟件?群發(fā)軟件哪個(gè)好?

    外貿(mào)群發(fā)郵件最好的軟件?群發(fā)軟件哪個(gè)好?

    外貿(mào)開發(fā)信群發(fā)軟件推薦?做外貿(mào)用什么郵件群發(fā)軟件? 在外貿(mào)業(yè)務(wù)中,與潛在客戶建立聯(lián)系并保持溝通是至關(guān)重要的。那么,如何快速有效地發(fā)送郵件給大量的潛在客戶呢?這就涉及到了外貿(mào)群發(fā)郵件。蜂郵EDM來探討一下,哪些軟件最適合外貿(mào)群發(fā)郵件。 外貿(mào)群發(fā)郵件軟

    2024年02月01日
    瀏覽(30)
  • outlook郵件群發(fā)單顯技巧?群發(fā)怎么單顯?

    outlook郵件群發(fā)單顯技巧?群發(fā)怎么單顯?

    outlook郵件群發(fā)單顯如何設(shè)置? QQ郵箱怎么群發(fā)單顯? 在群發(fā)郵件時(shí),如何讓每個(gè)收件人只看到自己的名字,而不是其他人的名字,這就涉及到所謂的“單顯”技巧。下面蜂郵EDM就為大家揭秘Outlook郵件群發(fā)單顯的奧秘。 outlook郵件群發(fā)單顯: 默認(rèn)行為 Outlook在群發(fā)郵件時(shí),為

    2024年01月23日
    瀏覽(20)
  • Mail 郵件服務(wù)

    Mail 郵件服務(wù)

    ~?Postfix ~? ?sdskill.com 的郵件發(fā)送服務(wù)器 ~~? ?支持smtps(465)協(xié)議連接,使用Rserver頒發(fā)的證書,證書路徑/CA/cacert.pem ~? ? 創(chuàng)建郵箱賬戶“user1~user99”(共99個(gè)用戶),密碼為Chinaskill20!; ~? ? Dovecot ~? ? sdskill.com 的郵件接收服務(wù)器; ~? ? 支持imaps(993)協(xié)議連接,使用Rserver頒發(fā)

    2023年04月26日
    瀏覽(23)
  • 使用SpringBoot + JavaMailSender 發(fā)送郵件報(bào)錯(cuò) Mail server connection failed;Could not connect to SMTP host

    在 application.yml 中將郵件配置為 SSL 連接 yml 如果你使用的是 properties 文件,應(yīng)該修改為: properties 推薦一個(gè) yml、properties 文件在線轉(zhuǎn)換的網(wǎng)站? 在線yaml轉(zhuǎn)properties-在線properties轉(zhuǎn)yaml-ToYaml.com ? 來源:https://www.cnblogs.com/songjilong/p/12577010.html

    2024年02月04日
    瀏覽(25)
  • Python Flask-Mail實(shí)現(xiàn)郵件發(fā)送

    Python Flask-Mail實(shí)現(xiàn)郵件發(fā)送

    目錄 前言 準(zhǔn)備工作 配置Flask應(yīng)用 初始化Flask-Mail 發(fā)送郵件 總結(jié) Python Flask-Mail是一個(gè)非常方便的庫,用于實(shí)現(xiàn)在Flask應(yīng)用中發(fā)送郵件。本文將介紹Flask-Mail的基本用法和實(shí)例代碼,幫助讀者快速上手使用。 Flask-Mail是基于Python的Flask框架的一個(gè)擴(kuò)展,它提供了一種簡(jiǎn)單而強(qiáng)大的方

    2024年04月12日
    瀏覽(34)
  • outlook微軟自動(dòng)給對(duì)方群發(fā)郵件消息帶彈窗!

    outlook微軟自動(dòng)給對(duì)方群發(fā)郵件消息帶彈窗!

    下載地址:outlook微軟自動(dòng)給對(duì)方群發(fā)郵件消息帶彈窗!

    2024年02月02日
    瀏覽(22)
  • .Net FrameWork 框架下使用System.Net.Mail封裝類 發(fā)送郵件失敗:服務(wù)器響應(yīng):5.7.1 Client was not authenticated 解決方案

    .Net FrameWork 框架下使用System.Net.Mail封裝類 發(fā)送郵件失敗:服務(wù)器響應(yīng):5.7.1 Client was not authenticated 解決方案

    偶然興起,想做一個(gè)后臺(tái)監(jiān)控PLC狀態(tài)的服務(wù)。功能如下:監(jiān)控到PLC狀態(tài)值異常后觸發(fā)郵件推送,狀態(tài)改變后只推送一次。開始使用的是.net6.0開發(fā)框架開發(fā),一切都很順利,郵件也能正常推送。但由于現(xiàn)場(chǎng)工控機(jī)系統(tǒng)不是WIN10 20H2的最新版本,導(dǎo)致系統(tǒng)未安裝.Net6.0 Runtime。而我

    2024年02月03日
    瀏覽(24)
  • 群暉免費(fèi)郵件服務(wù)器Mail Server搭建心德

    2023年1月2日 Daniel.y 群暉Synology Mail Server可以用于搭建免費(fèi)的企業(yè)郵箱,不限用戶數(shù)也不限郵箱容量。常規(guī)的安裝流程在群暉的官方網(wǎng)站中有介紹,在此就不再贅述。這里主要介紹一些注意事項(xiàng)和疑難問題解決經(jīng)驗(yàn)。 搭建自己的郵箱服務(wù)器面臨最大的挑戰(zhàn)是如何防止收到垃圾郵

    2024年02月07日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包