求救 你下在jmail.zip的时候里面不是里面有很多例子吗,一般的问题可以解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用JavaMail API编写邮件发送程序 ---------------------------------- 随着互联网的发展和计算机应用的普及,电子邮件越来越成为一种重要的通信方式。目前,有多种开发工具可以编制邮件发送程序,其中以利用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(“[email protected]”,“[email protected]”,“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(); } } 多表查询List怎么for出来了? 输入流read()方法的阻塞问题 请教一个servlet的菜鸟问题 我的jdk 不好用 我的是jdk-6u21-windows-i586.exe 关于httpServlet的问题 struts2找不到资源文件里的值 向战斗在一线的j2ee软件开发的高手们致敬,请教!新人怎样高效规划IT精英历程? 寻求解决方案 在eclipse 有没有开发ibatis的插件? 请大家推荐一个支持EJB2.0 的免费的应用服务器 怎样配置eclipse+tomcat+lomboz调试JSP程序? 100分求tomcat+struts+cocoon
随着互联网的发展和计算机应用的普及,电子邮件越来越成为一种重要的通信方式。目前,有多种开发工具可以编制邮件发送程序,其中以利用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(“[email protected]”,“[email protected]”,“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();
}
}