免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 934 | 回复: 0
打印 上一主题 下一主题

利用JavaMail API编写邮件发关程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-18 14:25 |只看该作者 |倒序浏览

         
            随着互联网的发展和计算机应用的普及,电子
邮件
越来越成为一种重要的通信方式。目前,有多种开发工具可以编制
邮件
发送
程序
,其中以利用JavaMail API编程最为简单。本文通过一个完整的例子介绍如何通过JavaMail API编制
邮件
发送
程序

没有装载JavaMail API的读者,可以到www.javasoft.com站点下载JavaMail API 1.2或JavaMail API 1.3, 并按照Readme.txt设置好ClassPath。例子代码如下:
import java.util.* ;
import java.io.* ;
import javax.mail.* ;
import javax.mail.internet.* ;
import javax.activation.* ;
public class jsendMail {
//定义收件人、发送人、主题等
String to=“”,from=“”,host=“”,filename=“”,messagetext=“”,subject=“”;
boolean debug=false;
//保存发送的文件名
Vector vfile = new Vector(10,10);
//保存发送的正文
Vector vmsg = new Vector(10,10);
public jsendMail() {}
public jsendMail(String to,String from,String smtpServer,String subject)  
{
//初始化收件人、发送人、主题
this.to=to;
this.from=from;
this.host=smtpServer;
this.subject=subject;
}
//收集附加文件
public void attachfile(String fname)  
{  
vfile.addElement(fname);
}
//收集
邮件
正文
public void setMessage(String msg)  
{  
vmsg.addElement(msg);  
}
//设置调试标志
public void setDebug(boolean debug)  
{  
this.debug=debug;
}
//
邮件
发送函数
public boolean startSend()
{
Properties props = System.getProperties();
props.put(“mail.smtp.host”, host);  
Session session=Session.getDefaultInstance
(props, null);
session.setDebug(debug);
try {
//创建一个消息,并初始化该消息的各项元素
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address={new Internet?
Address(to)};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject(subject);
//把message part加入新创建的Multipart
Multipart mp = new MimeMultipart();
//
邮件
内容的第一部分
Enumeration emsg=vmsg.elements();
while(emsg.hasMoreElements())
{
messagetext=emsg.nextElement().toString();
MimeBodyPart mbp1=new MimeBodyPart();
mbp1.setText(messagetext);
mp.addBodyPart(mbp1);
}
vmsg.removeAllElements();
//
邮件
内容的第二部分
Enumeration efile=vfile.elements();
while(efile.hasMoreElements())
{  
MimeBodyPart mbp2=new MimeBodyPart();  
filename=efile .nextElement().toString();
FileDataSource fds=new FileDataSource(filename);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
vfile.removeAllElements();
// 把MultiPart加入
邮件

msg.setContent(mp);
// 设置
邮件
头的发送日期  
msg.setSentDate(new Date());  
// 发送
邮件
  
Transport.send(msg);  
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex=mex.getNextException())!=null)  
{
ex.printStackTrace();
}
return false;
}
return true;
}//end public void startSend()
public static void main(String[] args)  
{
jsendMail sendmail=new jsendMail(“dzx@mail.zj.hn.cn”,“chinazjj@21cn.com”,“smtp.21cn.com”,“test JavaMail API”);
sendmail.attachfile(“jsendMail.java");
sendmail.attachfile(“jsendMail.class");
sendmail.setMessage(“send a file");
sendmail.setMessage(“send a javafile");
sendmail.startSend();
}
}
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/52454/showart_692781.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP