JavaMail Case
/**
* */ package com.javamail.net; import java.io.File;
import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Date; import java.util.Properties; import com.javamail.net.StringHelper; import javax.activation.DataHandler;
import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; /** * * */ public class mailtest { final public static int TO = 0; final public static int CC = 1;
final public static int BCC = 2;
/** * * @param args * @throws MessagingException * */ public static void main(String args[]) throws MessagingException { mailtest mail = new mailtest(); Address[] ar = new Address[2]; for (int i = 0; i < args.length; i++) { ar[i] = new InternetAddress(args[i]);
}
String address = InternetAddress.toString(ar); MyAuthenticator myauth = new MyAuthenticator("willmore2007@sina.com", "dreamcast"); mail.setAddress(address, mailtest.TO); mail.setFromAddress("willmore2007@sina.com");
mail.setSMTPHost("smtp.sina.com", "willmore2007", "dreamcast"); mail.setSubject("11111"); mail.setHtmlBody("hahahahahaha"); mail.sendBatch(myauth); } private String mailSMTPHost = null;
private String mailUser = null;
private String mailPassword = null;
private String mailFromAddress = null;
private String mailSubject = "";
private Address[] mailTOAddress = null;
private Address[] mailCCAddress = null;
private Address[] mailBCCAddress = null;
private MimeMultipart mailBody = null;
public mailtest() {
mailBody = new MimeMultipart(); } public void sendBatch(MyAuthenticator myauth) throws MessagingException {
Properties properties = new Properties(); Session session = null; // Setup mail server properties.put("mail.smtp.host", mailSMTPHost); // Get session
properties.put("mail.smtp.auth", "true"); if(myauth ==null) session = Session.getDefaultInstance(properties,null); else session = Session.getInstance(properties, myauth); session.setDebug(true); MimeMessage mimemessage = new MimeMessage(session); mimemessage.setFrom(new InternetAddress(this.mailFromAddress)); if (mailTOAddress != null) { mimemessage.addRecipients(javax.mail.Message.RecipientType.TO, this.mailTOAddress); } if (mailCCAddress != null) { mimemessage.addRecipients(javax.mail.Message.RecipientType.CC, this.mailCCAddress); } if (mailBCCAddress != null) { mimemessage.addRecipients(javax.mail.Message.RecipientType.BCC, this.mailBCCAddress); } mimemessage.setSubject(this.mailSubject); mimemessage.setContent(this.mailBody); mimemessage.setSentDate(new Date()); Transport transport = session.getTransport("smtp"); transport.connect(this.mailSMTPHost, this.mailUser, this.mailPassword); Transport.send(mimemessage); System.out.println("has been sent the mail to:"); if (mailTOAddress != null) { for (int i = 0; i < mailTOAddress.length; i++) { System.out.println(mailTOAddress[i]); } } if (mailCCAddress != null) { for (int i = 0; i < mailTOAddress.length; i++) { System.out.println(mailCCAddress[i]); } } if (mailBCCAddress != null) { for (int i = 0; i < mailTOAddress.length; i++) { System.out.println(mailBCCAddress[i]); } } } public void setAddress(String strAddress, int iAddressType)
throws AddressException { switch (iAddressType) { case mailtest.TO: { ArrayList alAddress = StringHelper.spilt(strAddress, ","); mailTOAddress = new Address[alAddress.size()]; for (int i = 0; i < alAddress.size(); i++) { mailTOAddress[i] = new InternetAddress((String) alAddress .get(i)); } break; } case mailtest.CC: { ArrayList alAddress = StringHelper.spilt(strAddress, ","); mailCCAddress = new Address[alAddress.size()]; for (int i = 0; i < alAddress.size(); i++) { mailCCAddress[i] = new InternetAddress((String) alAddress .get(i)); } break; } case mailtest.BCC: { ArrayList alAddress = StringHelper.spilt(strAddress, ","); mailBCCAddress = new Address[alAddress.size()]; for (int i = 0; i < alAddress.size(); i++) { mailBCCAddress[i] = new InternetAddress((String) alAddress .get(i)); } break; } } } public void setFileAttachment(String strFileAttachment)
throws MessagingException, UnsupportedEncodingException { File path = new File(strFileAttachment); if (!path.exists() || path.isDirectory()) { return; } String strFileName = path.getName(); MimeBodyPart mimebodypart = new MimeBodyPart(); mimebodypart.setDataHandler(new DataHandler(new FileDataSource( strFileAttachment))); mimebodypart.setFileName(MimeUtility.encodeText(strFileName)); mailBody.addBodyPart(mimebodypart); } public void setFromAddress(String strFromAddress) {
this.mailFromAddress = strFromAddress; } public void setHtmlBody(String strHtmlBody) throws MessagingException {
MimeBodyPart mimebodypart = new MimeBodyPart(); mimebodypart.setDataHandler(new DataHandler(strHtmlBody, "text/html;charset=GBK")); mailBody.addBodyPart(mimebodypart); } public void setSMTPHost(String strSMTPHost, String strUser, String strPassword) { this.mailSMTPHost = strSMTPHost; this.mailUser = strUser; this.mailPassword = strPassword; } public void setSubject(String strSubject) {
this.mailSubject = strSubject; } public void setTextBody(String strTextBody) throws MessagingException {
MimeBodyPart mimebodypart = new MimeBodyPart(); mimebodypart.setText(strTextBody, "GBK"); mailBody.addBodyPart(mimebodypart); } public void setURLAttachment(String strURLAttachment) 本文出自 51CTO.COM技术博客throws MessagingException, MalformedURLException { MimeBodyPart mimebodypart = new MimeBodyPart(); mimebodypart.setDataHandler(new DataHandler(new URL(strURLAttachment))); mailBody.addBodyPart(mimebodypart); } } |


willmore
博客统计信息
热门文章
最新评论
友情链接