在Java中发送邮件的一个相当完善的脚本

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

package com.asql.base;

import Java.util.*;

import javax.mail.*;

import javax.mail.internet.*;

import javax.activation.*;

public class MailSender {

public final static boolean sendMail(LoadLog sendlog,String smtphost,String mailfrom,

boolean mailauth,String mailuser,String mailpassWord,

String mailto,String mailcc,String mailsubject,

String mailmessage,String mailattach)

{

MimeMessage mimeMsg;

MimeMultipart mp;

Session session;

String sep[]={";"};

Properties props=new java.util.Properties();

int i;

props.put("mail.smtp.host",smtphost);

try{

session = Session.getDefaultInstance(props,null);

mimeMsg = new MimeMessage(session);

mp = new MimeMultipart();

if(mailauth)

props.put("mail.smtp.auth","true");

else

props.put("mail.smtp.auth","false");

if (sendlog!=null)

sendlog.println("Mail Host Address: "+smtphost);

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());

return false;

}

try

{

mimeMsg.setFrom(new InternetAddress(mailfrom));

if (sendlog!=null)

sendlog.println("Mail From Address: "+mailfrom);

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());

return false;

}

try{

java.util.Vector temp = WordsConvert.getWords(mailto,sep);

if (temp.size()==0)

{

if (sendlog!=null)

sendlog.println("Mail Target Address Requried.");

return false;

}

Address toaddress[] = new Address[temp.size()];

for(i=0;i

toaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0];

mimeMsg.setRecipients(Message.RecipientType.TO,toaddress);

if (sendlog!=null)

sendlog.println("Mail To Address: "+mailto);

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println("Error Mail To,"+e);

return false;

}

if(mailcc != null && mailcc.length()0)

{

try{

java.util.Vector temp = WordsConvert.getWords(mailcc,sep);

if (temp.size()0)

{

Address ccaddress[] = new Address[temp.size()];

for(i=0;i

ccaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0];

mimeMsg.setRecipients(Message.RecipientType.CC,ccaddress);

if (sendlog!=null)

sendlog.println("Mail Cc Address: "+mailcc);

}

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());

return false;

}

}

try

{

mimeMsg.setSubject(mailsubject,"GB2312");

BodyPart bp = new MimeBodyPart();

bp.setContent(""+

mailmessage,"text/html;charset=GB2312");

mp.addBodyPart(bp);

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());

return false;

}

if(mailattach != null && mailattach.length()0)

{

try{

java.util.Vector temp = WordsConvert.getWords(mailattach,sep);

for(i=0;i

{

MimeBodyPart bp = new MimeBodyPart();

FileDataSource fileds = new FileDataSource(temp.elementAt(i).toString());

DataHandler dh = new DataHandler(fileds);

bp.setDisposition(Part.ATTACHMENT);

bp.setFileName(fileds.getName());

bp.setDataHandler(dh);

mp.addBodyPart(bp);

}

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());

return false;

}

}

try{

mimeMsg.setContent(mp);

mimeMsg.saveChanges();

Session mailSession = Session.getInstance(props,null);

Transport transport = mailSession.getTransport("smtp");

transport.connect((String)props.get("mail.smtp.host"),mailuser,mailpassword);

transport.sendMessage(mimeMsg,mimeMsg.getAllRecipients());

if (sendlog!=null)

sendlog.println("Mail SUCcessfully Sended!");

transport.close();

}

catch(Exception e)

{

if (sendlog!=null)

sendlog.println(e.getMessage());;

return false ;

}

return true;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航