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

JavaMail相關代碼案例(郵件發(fā)送)

這篇具有很好參考價值的文章主要介紹了JavaMail相關代碼案例(郵件發(fā)送)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

常用郵件服務商的SMTP信息:

? ? QQ郵A箱:SMTP服務器是smtp.qq.com,端口是465/587

? ? 163郵箱:SMTP服務器是smtp.163.com,端口是465

? ? Gmail郵箱:SMTP服務器是smtp.gmail.com,端口是465/587

????????通過JavaMail API連接到SMTP服務器上,連接SMTP服務器時,需要準備一個Properties對象,填入相關信息。

//SMTP服務器連接信息
		Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.163.com");//SMTP主機名
		
		props.put("mail.smtp.port", "25");//主機端口號
		
        //是否需要認證
		props.put("mail.smtp.auth", "true");
		//啟用TLS加密
		props.put("mail.smtp.starttls.enable", "true");
		

????????最后獲取Session實例時,如果服務器需要認證,還需要傳入一個Authenticator對象,并返回指定的用戶名和口令。當我們獲取到Session實例后,打開調試模式可以看到SMTP通信的詳細內容,便于調試。

        String userName = "m18091491321@163.com";
		String password = "********";
		
		//SMTP服務器連接信息
		Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.163.com");//SMTP主機名
		
		props.put("mail.smtp.port", "25");//主機端口號
		
		props.put("mail.smtp.auth", "true");
		//是否需要認證
		props.put("mail.smtp.starttls.enable", "true");
		//啟用TLS加密
		
		//創(chuàng)建Session會話
		//參數1:smtp服務器連接參數
		//參數2:賬號和密碼的授權認證對象
		Session session = Session.getInstance(props, new Authenticator() {

			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				// TODO 自動生成的方法存根
				return new PasswordAuthentication(userName, password);
			}
			
		});
        session.setDebug(true);
		System.out.println(session);

? ? ? ?發(fā)送郵件時,我們需要構造一個Message對象,然后調用Transport.send(Message)即可完成發(fā)送:絕大多數郵件服務器要求發(fā)送方地址和登錄用戶名必須一致,否則發(fā)送將失敗.

? ? ? ? 1.創(chuàng)建Session對象

? ? ? ? 2.創(chuàng)建郵件對象

? ? ? ? 3.發(fā)送郵件

????????

			//2.創(chuàng)建郵件對象
			MimeMessage message = new MimeMessage(session);
            //設置文件主題
			message.setSubject("測試郵件");
			//設置郵件發(fā)送方賬號
			message.setFrom(new InternetAddress("m18091491321@163.com"));
            //設置郵件接收方
            //參數1:接受
            //參數2:接收方賬號
			message.setRecipient(RecipientType.TO, new   InternetAddress("1417547535@qq.com"));
            //抄送給多個賬號
            //參數1:抄送
            //參數2:賬戶
			message.setRecipients(RecipientType.CC, new InternetAddress[] {new InternetAddress("1417547535@qq.com"),new InternetAddress("1252303367@qq.com")});
			
			//郵件僅包含正文
			message.setText("好好學習天天向上");
            //3.發(fā)送
			Transport.send(message);

?如果郵件內容既包含正文,又包含附件。可以構造一個Multipart對象。

			//郵件既包含正文,又包含附件
			//正文
			BodyPart textPart = new MimeBodyPart();
			textPart.setContent("<h3>我希望你</h3>","text/html;charset=utf-8");
			//附件
			BodyPart filePart = new MimeBodyPart();
			filePart.setDataHandler(
					new DataHandler(
							new ByteArrayDataSource(Files.readAllBytes(Paths.get("D:\\niuma\\bao.jpg")) , "application/octet-stream")));
			
			//將正文+附件組裝成Multipart對象
			Multipart multipart = new MimeMultipart();
			multipart.addBodyPart(textPart);
			multipart.addBodyPart(filePart);
			//將Multipart對象放入郵件
			message.setContent(multipart);

一個Multipart對象可以添加若干個BodyPart,其中第一個BodyPart是文本,即郵件正文,后面的BodyPart是附件。BodyPart依靠setContent()決定添加的內容,如果添加文本,用setContent("...", "text/plain;charset=utf-8")添加純文本,或者用setContent("...", "text/html;charset=utf-8")添加HTML文本。如果添加附件,需要設置文件名(不一定和真實文件名一致),并且添加一個DataHandler(),傳入文件的MIME類型。二進制文件可以用application/octet-stream,Word文檔則是application/msword。
最后,通過setContent()把Multipart添加到Message中,即可發(fā)送。

發(fā)送內嵌圖片的HTML郵件

????????如果需要在HTML郵件中內嵌圖片,可以選擇在郵件中加入<img src="http://example.com/test.jpg">,這樣的外部圖片鏈接通常會被郵件客戶端過濾,并提示用戶顯示圖片并不安全。只有內嵌的圖片才能正常在郵件中顯示。所以,這種方式并不推薦。
推薦將內嵌圖片作為一個附件嵌入郵件,即郵件本身也是Multipart,但需要做一點額外的處理:

????????

			//郵件內容
			BodyPart textpart = new MimeBodyPart();
			StringBuilder sb = new StringBuilder();
			sb.append("<h3>Hello</h3>");
			sb.append("<img src=\"cid:bgls\"/>");
			textpart.setContent(sb.toString(), "text/html;charset=utf-8");
			
			//附件
			BodyPart filepart = new MimeBodyPart();
			filepart.setDataHandler(new DataHandler(
					new ByteArrayDataSource(Files.readAllBytes(Paths.get("D:\\niuma\\bao2.jpg")),"application/octet-stream")));
			
			
			filepart.setHeader("Content-ID", "bgls");//照片ID
			
			Multipart multipart = new MimeMultipart();
			multipart.addBodyPart(textpart);
			multipart.addBodyPart(filepart);
			
			message.setContent(multipart);

小結:

使用JavaMail API發(fā)送郵件本質上是一個MUA軟件通過SMTP協(xié)議發(fā)送郵件至MTA服務器
打開調試模式可以看到詳細的SMTP交互信息
某些郵件服務商需要開啟SMTP,并需要獨立的SMTP登錄密碼文章來源地址http://www.zghlxwxcb.cn/news/detail-554433.html

到了這里,關于JavaMail相關代碼案例(郵件發(fā)送)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【開發(fā)篇】十六、SpringBoot整合JavaMail實現發(fā)郵件

    【開發(fā)篇】十六、SpringBoot整合JavaMail實現發(fā)郵件

    SMTP(Simple Mail Transfer Protocol):簡單郵件傳輸協(xié)議, 用于發(fā)送 電子郵件的傳輸協(xié)議 POP3(Post Office Protocol - Version 3): 用于接收 電子郵件的標準協(xié)議 IMAP(Internet Mail Access Protocol):互聯網消息協(xié)議,是 POP3的替代協(xié)議 STEP1: 加入JavaMail起步依賴: STEP2: 相關配置: 注意pa

    2024年02月07日
    瀏覽(18)
  • 使用證書認證方式調用Microsoft Graph Api發(fā)送郵件案例

    使用證書認證方式調用Microsoft Graph Api發(fā)送郵件案例

    項目需求: ? ????????以證書認證獲取授權調用MS Graph API發(fā)送郵件,代替原有的SMTP協(xié)議以用戶名密碼認證的方式。 操作步驟: ? ? ? ? 1.在Microsoft Azure?應用中心注冊你的應用,申請需要使用的api權限 ? 注冊好后你會得到如下信息: ?在權限中添加你需要的,發(fā)送郵件的

    2024年02月06日
    瀏覽(34)
  • JAVA之發(fā)送郵件

    一、導入依賴 二、發(fā)送普通文本 三、發(fā)送附件 一、導入依賴 二、發(fā)送普通文本 三、發(fā)送附件 方法一:通過POI讀取數據庫的數據,并生成excel,但不保存在本地文件,通過流的方式,作為附件并發(fā)送郵件 主要的代碼如下: 全部代碼如下: 方法二:將導出的數據生成文件,

    2024年02月13日
    瀏覽(21)
  • java實現發(fā)送郵件

    java實現發(fā)送郵件

    本文介紹下java實現郵件的發(fā)送,意在網站用戶評論時能夠及時通知站長和用戶評論被回復后能夠及時通知用戶。 下文介紹下具體實現。 java實現 首先引入springboot的郵箱依賴 配置郵箱參數,這里以 qq郵箱 作為示例 此時就差不多了,接下來實現郵箱工具類 此時調用 MailUtil 里

    2024年02月16日
    瀏覽(19)
  • java ssl加密發(fā)送郵件

    通過25端口發(fā)送郵件不安全,改為ssl加密方式發(fā)送郵件,比較常見的2中實現類發(fā)送郵件如下所示。 使用該實現類發(fā)送郵件,ssl加密使用端口號為465,借助Properties類設置ssl的各種配置。 網上資料較少,自己記錄一下。 修改application.yml文件配置 至于能否都采用第二種方式來實

    2024年02月12日
    瀏覽(17)
  • Java Email 實現郵件發(fā)送

    Java Email 實現郵件發(fā)送

    Email:電子郵件。 在當今社會有著重要的應用,傳統(tǒng)的郵件是通過郵局投遞,然后從一個郵局到另一個郵局,最終到達用戶的郵箱。 在電子郵件中也有著相似的發(fā)送過程:電子郵件是從用戶電腦的郵件軟件發(fā)送到郵件服務器上,經過若干個郵件服務器的中轉,最終到達對方郵

    2024年02月03日
    瀏覽(20)
  • Java發(fā)送郵件 啟用SSL

    Java發(fā)送郵件 啟用SSL

    使用的maven依賴: 配置文件 mail.properties 如下: 在Foxmail的配置如下: 代碼如下:

    2024年04月26日
    瀏覽(24)
  • 用Java實現發(fā)送郵件——Java Email

    用Java實現發(fā)送郵件——Java Email

    ????????眾所周知,Email就是郵件,在科技高速發(fā)展的今天我們也使用了非常之久的電子郵件,我們熟知的郵件有自己的QQ郵箱、網易郵箱大師還有Outlook等都是用來發(fā)送郵件的,而用Java程序也是可以用來發(fā)送郵件的。 首先我們先對比一下傳統(tǒng)的郵件信息是如何發(fā)送的:傳

    2024年02月05日
    瀏覽(21)
  • java 發(fā)送html 格式的郵件

    在 Java 中,可以使用 JavaMail API 來發(fā)送 HTML 格式的郵件。下面是一個簡單的示例代碼: 在上面的代碼中,首先設置了收件人、發(fā)件人、發(fā)件人密碼和郵件服務器的信息。然后設置了系統(tǒng)屬性,包括郵件服務器、SMTP 認證、SMTP 端口和 SSL 連接。接著創(chuàng)建一個默認的 Session 對象,

    2024年02月15日
    瀏覽(19)
  • Java發(fā)送郵件-工具類-基于springboot

    Java發(fā)送郵件-工具類-基于springboot

    那么,廢話少說,直接上代碼。 1. 目錄結構 ?重點是那幾個帶mail的,其他文件不用管。 2. pom 其他文件都是基礎的,主要是引入這個mail。 我這個版本比較老舊,更新一下也是可以的。 3. 主要代碼 先搞一個郵件實體類 再搞一個郵箱實體類 最后再搞一個發(fā)送郵件的工具類 最

    2024年02月11日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包