熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

JAVAMAIL郵件服務器

2013-11-23 19:29:56  來源: Java核心技術 

  如果你認為沒有必要設置MAIL服務器而又要用JAVAMAIL的郵件發送功能那最好的方式就是用自己的免費郵箱服務器!可這些服務器登陸必須要進行驗證所以需要進行帶有身份驗證的JAVAMAIL編程!
     說明
下載javamailjar和JAF框架(處理多種格式)
用你現有的免費郵箱的郵件服務器(需要身份認證)
SendEcardjava 發送mail(帶附件)的javabean Email_cajava
    身份認證的javabean package netcard; /** *SendEcardjava *發送mail的javabean */ import javautilProperties;
import javautilDate;
import javaxmail*;
import javaxmailinternet*;
import javaxactivation*;
public class SendEcard {
   private String tomail;
   private String frommail;
   private String subject;
   private String content;
   private String imagecard;
   String smtp=****;//設置郵件服務器
   public SendEcard()
 {
   }
   public String getTomail()
{
     return tomail;
   }
   public void setTomail(String tomail)
{
     thistomail = tomail;
   }
   public String getFrommail() {
     return frommail;
   }
   public void setFrommail(String frommail) {
     thisfrommail = frommail;
   }   public String getSubject() {
     return subject;
   }
   public void setSubject(String subject)
{
     thissubject = subject;
   }
   public String getContent() {
     return content;
   }
   public void setContent(String content)
{
     ntent = content;
   }
   public String getImagecard()
{
     return imagecard;
   }
   public void setImagecard(String imagecard)
{
     thisimagecard = imagecard;
   }
 

  public boolean sendMail(){
    try{
      Properties p=SystemgetProperties();
      pput(mailsmtphostthissmtp);
      pput(mailsmtpauthtrue);  //設置為須驗證的模式
      Session session=SessiongetDefaultInstance(pnew Email_ca(用戶名密碼));
      MimeMessage msg=new MimeMessage(session);
      msgsetSentDate(new Date());
      InternetAddress from=new InternetAddress(frommail);
      msgsetFrom(from);
      InternetAddress[] address = {
          new InternetAddress(tomail)};
      msgsetRecipients(MessageRecipientTypeTO address);
      msgsetSubject(thissubject);      msgsetText(ntent);
      Multipart mp = new MimeMultipart();
      MimeBodyPart mbp=new MimeBodyPart();
      FileDataSource fds=new FileDataSource(文件路徑);
      //得到附件本身並至入BodyPart
      mbpsetDataHandler(new DataHandler(fds));
      //得到文件名同樣至入BodyPart
      mbpsetFileName(fdsgetName());
      mpaddBodyPart(mbp);
      msgsetContent(mp);
      Transportsend(msg);
      return true;
    }catch(AddressException addr_e){
      Systemoutprintln(addr_egetMessage());
      return false;
    }catch(MessagingException msg_e){
      Systemoutprintln(msg_egetMessage());
      return false; 
   }
}
}
package netcard; /** *Email_cajava *身份認證的javabean */ import javaxmail*;
public class Email_ca extends javaxmailAuthenticator{
   private String user=null;   private String pwd=null;
   public Email_ca(){
     super();
   }
   public void setUser(String user){
     thisuser=user;
   }
   public void setPwd(String pwd){
     thispwd=pwd;
   }
   public Email_ca(String userString pwd){
     super();
     setUser(user);
     setPwd(pwd); 
  }
   public PasswordAuthentication getPasswordAuthentication(){
     return new PasswordAuthentication(userpwd);
   }
}
      至此你就可以利用免費郵箱服務器進行郵件發送!


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26972.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.