Ê×Ò³ | Óʼþ×ÊѶ | ¼¼Êõ½Ì³Ì | ½â¾ö·½°¸ | ²úÆ·ÆÀ²â | ÓʼþÈ˲Š| Óʼþ²©¿Í | ÓʼþϵͳÂÛ̳ | Èí¼þÏÂÔØ | ÓʼþÖÜ¿¯ | ÈȵãרÌâ | ¹¤¾ß
ÍøÂç¼¼Êõ | ²Ù×÷ϵͳ | Óʼþϵͳ | ¿Í»§¶Ë | µç×ÓÓÊÏä | ·´À¬»øÓʼþ | Óʼþ°²È« | ÓʼþÓªÏú | ÒÆ¶¯µçÓÊ | ÓʼþÈí¼þÏÂÔØ | µç×ÓÊéÏÂÔØ

Óʼþ·þÎñÆ÷

¼¼ÊõÇ°ÑØ | Exchange | Domino | Sendmail | Postfix | Qmail | IMail | MDaemon | Foxmail | James | Kerio | JavaMail | WinMail | Winwebmail | Merak | CMailServer | ½ðµÑ | ÆäËü | ÓʼþÓ뿪·¢ |
Ê×Ò³ > Óʼþ·þÎñÆ÷ > JavaMail > javamail·¢ËÍÓʼþ > ÕýÎÄ

javamail·¢ËÍÓʼþ

³ö´¦£ºwww.csdn.net ×÷Õߣºaistill ʱ¼ä£º2005-7-12 14:11:00
/*
ÔÚjava°æ¾­³£¿´µ½ÓÐÈËÎÊÈçºÎÓÃjavamail·¢ËÍÓʼþ£¿ÈçºÎ½ÓÊÕÓʼþ£¿ÈçºÎ·ÃÎʶà¸öÎļþ¼ÐµÈ¡£ÎÊÌâÁãÉ¢£¬¶øÀúÊ·µÄ»Ø¸´ÔçÒѾ­ÑÍûÔÚÎÊÌâµÄº£ÑóÖ®ÖС£

±¾ÈË֮ǰËù×ö¹ýÒ»¸öjavaÏîÄ¿£¬ÆäÖаüº¬ÓÐWebMail¹¦ÄÜ£¬µ±³õΪÓÃjavaʵÏÖ¶ø¶ÔjavamailÃþË÷ÁËÒ»¶Îʱ¼ä£¬×ÜËãÓеãÊÕ»ñ¡£¿´µ½ÂÛ̳Öеľ­³£Óд˷½ÃæµÄÎÊÌ⣬Òò´Ë°ÑÎÒµÄһЩ¾­ÑéÌû³öÀ´£¬Ï£Íû¶Ô´ó¼ÒÓÐЩ°ïÖú¡£

´Ëƪ½ö½éÉÜÓÃjavamailʵÏÖ·¢ËÍÓʼþ¹¦ÄÜ£¬ÆäÖÐÉæ¼°smtpÈÏÖ¤£¬Óʼþ¸½¼þ·¢ËÍ£¬¼°HTMLÄÚÈÝÓʼþµÈ¡£
ÆäËüÓйضàÓÊÏäµÄʵÏÖ£¬½ÓÊÕPOP3Óʼþ¼°IMAPµÈÄÚÈÝ£¬½«ÔÚºóÐøÎÄÕÂÖнéÉÜ¡£

ÈçϳÌÐòÐèÒª£ºjavamail£¬JAF°ü£¬j2ee.jar°üº¬ÁËÉÏÊöÁ½¸ö°ü£¬½¨Òé´ó¼Ò°²×°J2SDKEE»òÖ±½Ó¿½±´j2ee.jar£¬½«ÆäÌí¼Óµ½jbuilderµÄlibraryÖУ¬»òϵͳClassPathÖÐ

*/



package com.me.util.mail;

/**
* @author Zhangkun aistill@msn.com
* @version 1.0
*/

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Date;
import javax.activation.*;
import java.io.*;
import com.me.util.*;

public class sendMail {

private MimeMessage mimeMsg; //MIMEÓʼþ¶ÔÏó

private Session session; //Óʼþ»á»°¶ÔÏó
private Properties props; //ϵͳÊôÐÔ
private boolean needAuth = false; //smtpÊÇ·ñÐèÒªÈÏÖ¤

private String username = ""; //smtpÈÏÖ¤Óû§ÃûºÍÃÜÂë
private String password = "";

private Multipart mp; //Multipart¶ÔÏó,ÓʼþÄÚÈÝ,±êÌâ,¸½¼þµÈÄÚÈݾùÌí¼Óµ½ÆäÖкóÔÙÉú³ÉMimeMessage¶ÔÏó



/**
*
*/
public sendMail() {
setSmtpHost(getConfig.mailHost);//Èç¹ûûÓÐÖ¸¶¨Óʼþ·þÎñÆ÷,¾Í´ÓgetConfigÀàÖлñÈ¡
createMimeMessage();
}

public sendMail(String smtp){
setSmtpHost(smtp);
createMimeMessage();
}



/**
* @param hostName String
*/
public void setSmtpHost(String hostName) {
System.out.println("ÉèÖÃϵͳÊôÐÔ£ºmail.smtp.host = "+hostName);
if(props == null)props = System.getProperties(); //»ñµÃϵͳÊôÐÔ¶ÔÏó

props.put("mail.smtp.host",hostName); //ÉèÖÃSMTPÖ÷»ú
}


/**
* @return boolean
*/
public boolean createMimeMessage()
{
try{
System.out.println("×¼±¸»ñÈ¡Óʼþ»á»°¶ÔÏó£¡");
session = Session.getDefaultInstance(props,null); //»ñµÃÓʼþ»á»°¶ÔÏó
}
catch(Exception e){
System.err.println("»ñÈ¡Óʼþ»á»°¶ÔÏóʱ·¢Éú´íÎó£¡"+e);
return false;
}

System.out.println("×¼±¸´´½¨MIMEÓʼþ¶ÔÏó£¡");
try{
mimeMsg = new MimeMessage(session); //´´½¨MIMEÓʼþ¶ÔÏó
mp = new MimeMultipart();

return true;
}
catch(Exception e){
System.err.println("´´½¨MIMEÓʼþ¶ÔÏóʧ°Ü£¡"+e);
return false;
}
}



/**
* @param need boolean
*/
public void setNeedAuth(boolean need) {
System.out.println("ÉèÖÃsmtpÉí·ÝÈÏÖ¤£ºmail.smtp.auth = "+need);
if(props == null)props = System.getProperties();

if(need){
props.put("mail.smtp.auth","true");
}else{
props.put("mail.smtp.auth","false");
}
}



/**
* @param name String
* @param pass String
*/
public void setNamePass(String name,String pass) {
username = name;
password = pass;
}


/**
* @param mailSubject String
* @return boolean
*/
public boolean setSubject(String mailSubject) {
System.out.println("ÉèÖÃÓʼþÖ÷Ì⣡");
try{
mimeMsg.setSubject(mailSubject);
return true;
}
catch(Exception e) {
System.err.println("ÉèÖÃÓʼþÖ÷Ìâ·¢Éú´íÎó£¡");
return false;
}
}



/**
* @param mailBody String
*/
public boolean setBody(String mailBody) {
try{
BodyPart bp = new MimeBodyPart();
bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+mailBody,"text/html;charset=GB2312");
mp.addBodyPart(bp);

return true;
}
catch(Exception e){
System.err.println("ÉèÖÃÓʼþÕýÎÄʱ·¢Éú´íÎó£¡"+e);
return false;
}
}


/**
* @param name String
* @param pass String
*/
public boolean addFileAffix(String filename) {

System.out.println("Ôö¼ÓÓʼþ¸½¼þ£º"+filename);

try{
BodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(filename);
bp.setDataHandler(new DataHandler(fileds));
bp.setFileName(fileds.getName());

mp.addBodyPart(bp);

return true;
}
catch(Exception e){
System.err.println("Ôö¼ÓÓʼþ¸½¼þ£º"+filename+"·¢Éú´íÎó£¡"+e);
return false;
}
}



/**
* @param name String
* @param pass String
*/
public boolean setFrom(String from) {
System.out.println("ÉèÖ÷¢ÐÅÈË£¡");
try{
mimeMsg.setFrom(new InternetAddress(from)); //ÉèÖ÷¢ÐÅÈË
return true;
}
catch(Exception e)
{ return false; }
}


/**
* @param name String
* @param pass String
*/
public boolean setTo(String to){
if(to == null)return false;

try{
mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
return true;
}
catch(Exception e)
{ return false; }

}

/**
* @param name String
* @param pass String
*/
public boolean setCopyTo(String copyto)
{
if(copyto == null)return false;
try{
mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto));
return true;
}
catch(Exception e)
{ return false; }
}


/**
* @param name String
* @param pass String
*/
public boolean sendout()
{
try{
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
System.out.println("ÕýÔÚ·¢ËÍÓʼþ....");

Session mailSession = Session.getInstance(props,null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),username,password);
transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
//transport.send(mimeMsg);

System.out.println("·¢ËÍÓʼþ³É¹¦£¡");
transport.close();

return true;
}
catch(Exception e)
{
System.err.println("Óʼþ·¢ËÍʧ°Ü£¡"+e);
return false;
}
}


/**
* Just do it as this
*/
public static void main(String[] args) {

String mailbody = "<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+
"<div align=center><a href=http://www.csdn.net> csdn </a></div>";

sendMail themail = new sendMail("smtp.msn.com");
themail.setNeedAuth(true);

if(themail.setSubject("±êÌâ") == false) return;
if(themail.setBody(mailbody) == false) return;
if(themail.setTo("gates@msn.com") == false) return;
if(themail.setFrom("bill@msn.com") == false) return;
if(themail.addFileAffix("c:\\boot.ini") == false) return;
themail.setNamePass("user","password");

if(themail.sendout() == false) return;
}
},
Ïà¹ØÎÄÕ ÈÈÃÅÎÄÕÂ
  • JavaMail³£¼ûÎÊÌâÖ®°²×°ºÍÅäÖÃÎÊÌâ½â´ð
  • ͨ¹ýJavaMail·ÃÎÊHotmailÓÊÏä
  • JavaMailÖ®POP3ЭÒéÅжÏÐÂÓʼþµÄ˼·
  • JavaMailʵÏÖÓʼþÌØ¿ìרµÝ
  • JavaMail Ö® ¶Å¾øÓʼþÂÒÂë
  • ÀûÓÃJavaMailÊÕ/·¢GmailÓʼþ(SSL)
  • Javamail´¦Àíunicode-1-1-utf-7±àÂëµÄÓʼþ
  • ÓÃjavamailÊÕÈ¡hotmailµÄÍËÐÅ
  • ¼ò»¯JavaMail£ºÐ¡ÇÉ Jakarta Commons-Email
  • JavaMail APIϸ½ÚÏêϸ½âÎö´óÈ«
  • JavamailµÄ¿ª·¢ÓëÓ¦ÓÃ×ܽᾭÑéÖ®¶þ
  • JavamailµÄ¿ª·¢ÓëÓ¦ÓÃ×ܽᾭÑéÖ®Ò»
  • ÔÚJSPÖÐʹÓÃJavaMail
  • ͨ¹ýJavaMail·ÃÎÊHotmailÓÊÏä
  • JavaMail APIϸ½ÚÏêϸ½âÎö´óÈ«
  • ÀûÓÃJavaMailÊÕ/·¢GmailÓʼþ(SSL)
  • JavaMailÖ®POP3ЭÒéÅжÏÐÂÓʼþµÄ˼·
  • javamailдµÄ½âÎöMimeMessageµÄ³ÌÐò
  • JavamailµÄ¿ª·¢ÓëÓ¦ÓÃ×ܽᾭÑéÖ®Ò»
  • JavaMailʵÏÖÓʼþÌØ¿ìרµÝ
  • Javamail²Ù×÷Ö¸ÄÏ£ºÊµÀý´úÂë½âÎö
  • JavaMail Ö® ¶Å¾øÓʼþÂÒÂë
  • ¼ò»¯JavaMail£ºÐ¡ÇÉ Jakarta Commons-Email
  • Javaµç×ÓÓʼþ
  • ×ÔÓÉ¹ã¸æÇø
    ¡¡
     
    ×îÐÂÈí¼þÏÂÔØ
  • ORF Enterprise Edition 4.2 Õýʽ°æ
  • WinWebMail 3.7.7.3 ±ê×¼°æ
  • WinWebMail 3.7.7.3 ÆóÒµ°æ
  • BMailì÷ÓÊ
  • Merak Email Server for Windows 9.3.1..
  • Merak Email Server for Linux 9.3.1 ¼..
  • Merak Email Server 9.3.1 For Windwos..
  • AXIGEN Mail Server 6.1.1 for Windows
  • AXIGEN Mail Server 6.1.0 for Linux
  • ADModify.NETÏÂÔØ
  • symantec10.1»ù±¾°²×°¼°ÅäÖÃÊÓÆµ½Ì³Ì
  • Backup Exec System RecoveryÖ®±¸·ÝÊÓÆ..
  • ½ñÈÕÓʼþ¼¼ÊõÎÄÕÂ
  • ÃÀ´óѧÉúÇÖÈëÅåÁÖÖݳ¤¸öÈËÓʼþÕË»§±»´þ²¶
  • ˼¿ÆIronPort·¢²¼Ðµç×ÓÓʼþ°²È«É豸
  • Éî¸û"Èí¼þ+·þÎñ" ΢Èí300³ÇÊÐѲչî£ÓÊ
  • ´ÓºÚ¿Í³£Óù¥»÷Êֶο´WEBÓ¦Ó÷À»¤
  • ÏûÏ¢ÈËʿ͸¶ÑÅ»¢ÓëAOLºÏ²¢Ï¸½Ú½«ÓÚ±¾Ô..
  • ¹È¸èÌṩµÄµç×ÓÓʼþ´æµµÊ±¼äÑÓ³¤ÎªÊ®Äê
  • ÑÅ»¢½«ÔÚÓÊÏä·þÎñÖÐÕûºÏаæÔÚÏßÈÕÀú
  • 9ÔÂÀ¬»øÓʼþ×ÜÁ¿¼õÉÙ ÓëISPµ¹±ÕÓйØ
  • À¬»øÓʼþ·¢Õ¹µÄËÄ´óÇ÷ÊÆ
  • º«¹úÒéÔ±³ÆÖйúºÚ¿Íð³äÇàÍß̨·¢ËͲ¡¶¾..
  • VistaÄÑ³ÉÆøºò Windows XPÊÙÃü±»ÑÓ³¤
  • ÈüÃÅÌú¿ËÉý¼¶DLP²úÆ·¼°·´À¬»øÓʼþÍø¹Ø
  • ×îÐÂרÌâ
  • Sendmail ÓʼþϵͳÅäÖÃ
  • ×齨Exchange 2003Óʼþϵͳ
  • Windows Server 2008 רÌâ
  • ORF ·´À¬»øÓʼþϵͳ
  • Exchange Server 2007 רÌâ
  • ISA Server 2006 ½Ì³ÌרÌâ
  • Windows Vista ¼¼ÊõרÌâ
  • ¡°ºÚÝ®¡±£¨BlackBerry£©×¨Ìâ
  • ÒÆ¶¯µç×ÓÓʼþרÌâ
  • Apache James רÌâ
  • IMail Server ²Ù×÷Ö¸ÄÏ
  • ISA Server 2004 ʹÓÃרÌâ
  • ·ÖÀർº½
    ÓʼþÐÂÎÅ×ÊѶ:
    ITÒµ½ç | Óʼþ·þÎñÆ÷ | ÓʼþȤÎÅ | ÒÆ¶¯µçÓÊ
    µç×ÓÓÊÏä | ·´À¬»øÓʼþ|Óʼþ¿Í»§¶Ë|ÍøÂ簲ȫ
    ÐÐÒµÊý¾Ý | ÓʼþÈËÎï | ÍøÕ¾¹«¸æ | ÐÐÒµ·¨¹æ
    ÍøÂç¼¼Êõ:
    ÓʼþÔ­Àí | ÍøÂçЭÒé | ÍøÂç¹ÜÀí | ´«Êä½éÖÊ
    Ïß·½ÓÈë | ·ÓÉ½Ó¿Ú | Óʼþ´æ´¢ | »ªÎª3Com
    CISCO¼¼Êõ | ÍøÂçÓë·þÎñÆ÷Ó²¼þ
    ²Ù×÷ϵͳ:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | ÆäËü²Ù×÷ϵͳ
    Óʼþ·þÎñÆ÷:
    ³ÌÐòÓ뿪·¢ | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    ½ðµÑÓʼþϵͳ | ÆäËü |
    ·´À¬»øÓʼþ:
    ×ÛÊö| ¿Í»§¶Ë·´À¬»øÓʼþ|·þÎñÆ÷¶Ë·´À¬»øÓʼþ
    Óʼþ¿Í»§¶ËÈí¼þ:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | À×Äñ | Eudora |Becky! |Pegasus
    IncrediMail |ÆäËü
    µç×ÓÓÊÏä: ¸öÈËÓÊÏä | ÆóÒµÓÊÏä |Gmail
    ÒÆ¶¯µç×ÓÓʼþ:·þÎñÆ÷ | ¿Í»§¶Ë | ¼¼ÊõÇ°ÑØ
    ÓʼþÍøÂ簲ȫ:
    Èí¼þ©¶´ | °²È«ÖªÊ¶ | ²¡¶¾¹«¸æ |·À»ðǽ
    ¹¥·À¼¼Êõ | ²¡¶¾²éɱ| ISA | Êý×ÖÇ©Ãû
    ÓʼþÓªÏú:
    EmailÓªÏú | ÍøÂçÓªÏú | ÓªÏú¼¼ÇÉ |ÓªÏú°¸Àý
    ÓʼþÈ˲Å:ÕÐÆ¸ | Ö°³¡ | Åàѵ | Ö¸ÄÏ | Ö°³¡
    ½â¾ö·½°¸:
    Óʼþϵͳ|·´À¬»øÓʼþ |°²È« |ÒÆ¶¯µçÓÊ |Õбê
    ²úÆ·ÆÀ²â:
    Óʼþϵͳ |·´À¬»øÓʼþ |ÓÊÏä |°²È« |¿Í»§¶Ë
    ¹ã¸æÁªÏµ | ºÏ×÷ÁªÏµ | ¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ·±ówÖÐÎÄ
    °æÈ¨ËùÓУºÓʼþ¼¼Êõ×ÊÑ¶Íø©2003-2007 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   ÔÁICP±¸05009143ºÅ