1. 程式人生 > >JavaMail java郵件開發_中文附件名_回信地址_友好名稱等技巧

JavaMail java郵件開發_中文附件名_回信地址_友好名稱等技巧

JavaMail03:

package com.yuming.test;

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;


public class JavaMail03 {

	public static void main(String[] args) throws Exception {
		
		Session session = Session.getInstance(new Properties());
		MimeMessage msg = new MimeMessage(session);
		//發件人
		msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("中文名稱")+"\" <
[email protected]
>")); //回覆 //注:發件人與回覆的人不是同一人 //收件人只有一個 msg.setReplyTo(new Address[]{new InternetAddress("[email protected]")}); //收件人有多個 msg.setRecipients(RecipientType.TO, InternetAddress.parse(MimeUtility.encodeText("張三")+" <[email protected]>,"+MimeUtility.encodeText("李四") +"<
[email protected]
>")); msg.setSubject("這是發郵件的主題"); //mixed---混合關係 MimeMultipart msgMultipart = new MimeMultipart("mixed"); msg.setContent(msgMultipart); msg.getReplyTo(); //html body與附件整合 //body MimeBodyPart content = new MimeBodyPart(); //附件1 MimeBodyPart attch1 = new MimeBodyPart(); //附件2 MimeBodyPart attch2 = new MimeBodyPart(); msgMultipart.addBodyPart(content); msgMultipart.addBodyPart(attch1); msgMultipart.addBodyPart(attch2); //附件1 DataSource ds = new FileDataSource("D:\\ycsql.txt"); DataHandler dh1 = new DataHandler(ds ); attch1.setDataHandler(dh1); //英文名稱 //attch1.setFileName("ycsql.txt"); //中文名稱 attch1.setFileName( MimeUtility.encodeText("yxsql檔案.txt") ); //附件2 DataSource ds2 = new FileDataSource("D:\\log.jpg"); DataHandler dh2 = new DataHandler(ds2 ); attch1.setDataHandler(dh2); attch2.setFileName("log.jpg"); //內容 related--關聯關係 MimeMultipart bodyMultipart = new MimeMultipart("related"); content.setContent(bodyMultipart); MimeBodyPart htmlpart = new MimeBodyPart(); MimeBodyPart gifpart = new MimeBodyPart(); bodyMultipart.addBodyPart(htmlpart); bodyMultipart.addBodyPart(gifpart); DataSource gifds = new FileDataSource("D:\\log.jpg"); DataHandler gifdh = new DataHandler(gifds ); gifpart.setDataHandler(gifdh); gifpart.setHeader("Content-Location", "D:\\log.jpg"); //htmlpart htmlpart.setContent("我自己用程式生成和傳送的郵件哦!<img src='D:\\log.jpg'>", "text/html;charset=UTF-8"); //根據這些物件生成郵件 msg.saveChanges(); OutputStream os = new FileOutputStream("E:\\JavaMail03.eml"); msg.writeTo(os); // msg.writeTo(os); os.close(); } }