1. 程式人生 > >Java mail 傳送 MimeMessage 郵件

Java mail 傳送 MimeMessage 郵件

import com.derbysoft.common.config.MailConfig;
import com.derbysoft.common.utils.string.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.activation.DataHandler;
import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.util.ByteArrayDataSource; import java.io.IOException; import java.util.Properties; /** * Created by Harry on 2017/5/18. */ @Component public class MailUtil { @Autowired MailConfig mailConfig; /** * 傳送郵件 * 文字內容支援html標籤 * * @param senderName sender name default dplatform
* @param to if exist more than one receiver using , splite * @param cc if exist more than one receiver using , splite * @param subject * @param content * @param bytes annex array * @param names annex names * @throws MessagingException * @throws
IOException */ public void sendMail(String senderName, String to, String cc, String subject, String content, byte[][] bytes, String[] names) throws MessagingException, IOException { // 屬性物件 Properties properties = properties(); // 環境資訊 Session session = Session.getInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // 在session中設定賬戶資訊,Transport傳送郵件時會使用W return new PasswordAuthentication(mailConfig.getUserName(), mailConfig.getPassWord()); } }); //郵件 MimeMessage msg = new MimeMessage(session); //設定主題 msg.setSubject(subject); //發件人,注意中文的處理 msg.setFrom(new InternetAddress("\"" + MimeUtility.encodeText(senderName) + "\"<" + mailConfig.getUserName() + ">")); //設定郵件回覆人 // msg.setReplyTo(new Address[]{new InternetAddress("[email protected]")}); msg.setRecipients(Message.RecipientType.TO, to); if (!StringUtil.isEmpty(cc)) { msg.setRecipients(Message.RecipientType.CC, cc); } //整封郵件的MINE訊息體 MimeMultipart msgMultipart = new MimeMultipart("mixed");//混合的組合關係 //設定郵件的MINE訊息體 msg.setContent(msgMultipart); // 裝載附件 if (bytes != null && names != null) { for (int i = 0; i < bytes.length; i++) { MimeBodyPart attch = new MimeBodyPart(); // 附件 msgMultipart.addBodyPart(attch); // 將附件新增到MIME訊息體中 ByteArrayDataSource dataSource = new ByteArrayDataSource(bytes[i], "text/data"); //資料來源 attch.setDataHandler(new DataHandler(dataSource)); attch.setFileName(names[i]); } } //html程式碼部分 MimeBodyPart htmlPart = new MimeBodyPart(); msgMultipart.addBodyPart(htmlPart); //html程式碼 htmlPart.setContent(content, "text/html;charset=utf-8"); //傳送郵件 Transport.send(msg, msg.getAllRecipients()); } protected Properties properties() { // 屬性物件 Properties properties = new Properties(); // 開啟debug除錯 ,列印資訊 properties.setProperty("mail.debug", "false"); // 傳送伺服器需要身份驗證 properties.setProperty("mail.smtp.auth", mailConfig.getAuth()); // 傳送伺服器埠,可以不設定,預設是25 properties.setProperty("mail.smtp.port", mailConfig.getPort()); // 傳送郵件協議名稱 properties.setProperty("mail.transport.protocol", mailConfig.getProtocol()); // 設定郵件伺服器主機名 properties.setProperty("mail.host", mailConfig.getHost()); return properties; } }

相關推薦

Java mail 傳送 MimeMessage 郵件

import com.derbysoft.common.config.MailConfig; import com.derbysoft.common.utils.string.StringUtil; import org.springframework.beans.fact

Java mail 傳送接收郵件

文字郵件:package mypack; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.S

Java mail 傳送郵件 主題(標題)亂碼

最近開發遇到Javamail  傳送郵件標題亂碼問題,騰訊、網易郵箱不會亂碼,阿里郵箱  標題則會亂碼。解決辦法: String subject = MimeUtility.encodeWord(mailEntity.getMailSubject(), "UTF-8", "Q");

Java.Mail 傳送郵件工具類

1.首先確保傳送人的郵箱  跟  接收人的郵箱  的smtp協議開著.   ------》可以上郵箱設定裡面開啟. 這裡使用的QQ郵箱   我們可以在郵箱幫助中找到QQ郵箱的pop3跟smtp伺服器地址已經開放的相應埠 一般是465,或者是587 2.極其重要一點

java mail 傳送郵件

程式碼 package test.smtp; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; import javax.mail.Session; import java

Java Mail 傳送郵件126、163 、QQ

下面是傳送的程式碼(可測試) //1、創 建 連 接 對 象,連 接 到 郵 箱 服 務 器 Properties props = new Properties(); //開 啟 debug 調 試 props.setProperty("mail.

Java mail傳送郵件示例

package com.zhangxueliang.demo; import java.util.*; import javax.mail.*; import javax.mail.Message.R

【javaMail】【1.基礎發郵件java mail 傳送plain text 郵件 helloworld

簡介 JavaMail,顧名思義,提供給開發者處理電子郵件相關的程式設計介面。它是Sun釋出的用來處理email的API。它可以方便地執行一些常用的郵件傳輸。 雖然JavaMail是Sun的API之一,但它目前還沒有被加在標準的java開發工具包中(Java Develop

JAVA MAIL傳送郵件例項

 專案用到一需求,完成特定任務後需要自動發郵件給客戶,看了下javamail比較簡單...不囉嗦,你懂的,然後就開始寫寫個簡單的入門,先百度找到 mail.jar ,commons-email-X.X.jar ,activation.jar 這三個jar,放進專案裡 先寫

Java Mail 實現第三方郵件發送功能

string .class 郵件 AD get als protocol subject fall   1 創建一個用於發送郵件的類 1 package com.latiny.service; 2 3 import java.io.IOExce

javax.mail 傳送163郵件

1,匯入maven依賴: <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId>

使用Java實現傳送email郵件

一、maven依賴 <dependency>       <groupId>javax.mail</groupId>       <artifactId>mail</artifa

C#呼叫Mail傳送QQ郵件

需要用到: 1.System.Net.Mail; 2.QQ郵箱的POP3/SMTP服務碼 QQ郵箱的POP3/SMTP服務碼獲取方法: 1.開啟qq郵箱: 2.進入設定頁面--》賬戶:(往下翻)開啟服務POP3/SMTP服務,QQ郵箱會給一個POP3/SMTP服務碼儲存下

利用mail 傳送163 郵件

//傳送163郵箱程式碼 //所需的JAR包已上傳commons-email-1.2.jar  如果有侵權,請作者聯絡,忘記原出處了 package test1; import org.apache.commons.mail.EmailException;   import

JAVA Spring Mail 傳送HTML格式的郵件,樣式丟失的問題

 QQ郵箱網頁版開啟HTML郵件是正常的,用PC版foxmail 或者 手機QQ郵箱APP開啟是不正常的,排版很亂。 主要原因: 使用郵件客戶端檢視郵件,哪怕只是在網頁上看郵件,你的郵件也不要用DIV去做,要用TABLE; 而且也不能用外部呼叫樣式,不能用內部頁面樣式,

java mail 多執行緒傳送郵件

轉載地址:https://blog.csdn.net/ku360517703/article/details/50485710   背景 最近在做一個功能,需要批量或不定時散量傳送郵件給不同的人。比方說註冊功能,需要給註冊人傳送郵件,如果遇上系統新開放註冊,有一定量的併發,如果

java mail exchange 郵箱傳送郵件

使用exchange 傳送郵件是需要4個jar jbex-examples.jar jbex-javamail.jar jbex-v1.4.8-basic.jar javamail.jar jar 資源 http://download.csdn.net/download/

Java使用javax.mail傳送郵件

這裡使用maven專案進行開發 1.首先pom中載入jar  <dependency>     <groupId>com.sun.mail</groupId>     <artifactId>javax.mail</ar

java使用javax.mail傳送電子郵件:設定賬號、密碼、主題、文字、附件

全棧工程師開發手冊 (作者:欒鵬) java使用javax.mail包傳送電子郵件。這個例項可傳送多附件。 這裡使用163郵箱進行測試。可以設定賬號、密碼、主題、文字內容、附件 測試程式碼 public static void mai

應用java mail和阿里雲傳送郵件和上傳附件

package com.mail; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; imp