package com.ipv.mail;
/**
* 发送带附件的邮件
*/
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 InternetAddress(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]",
"www.cesgroup.com.cn",
"标题:垃圾邮件");
sendmail.attachfile("c:/a.txt");
sendmail.attachfile("c:/b.txt");
sendmail.setMessage("内容:垃圾邮件");
// sendmail.setMessage("send a javafile");
sendmail.startSend();
}
}
/**
* 发送带附件的邮件
*/
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 InternetAddress(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]",
"www.cesgroup.com.cn",
"标题:垃圾邮件");
sendmail.attachfile("c:/a.txt");
sendmail.attachfile("c:/b.txt");
sendmail.setMessage("内容:垃圾邮件");
// sendmail.setMessage("send a javafile");
sendmail.startSend();
}
}
解决方案 »
- fullcalendar 用法
- 毕业设计:请高手们指点!!不甚感激!
- 邮件群发?
- 问个打包war的问题
- JSP连接数据库问题??大虾救命啊!!!!
- org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob错误
- 急啊!!项目外包,求北京java团队承接
- 如何调用存贮过程?
- 我的程序在Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");处报错为什么?
- tomcat9.0.8页面url带中文参数提交错误The valid characters are defined in RFC 7230 and RFC 39
- 请问在编写调试servlet时,我想先测试通讯是否正常,servlet能不能让我以某种方式看见从apllet传来的string,用System.out可不可以?
- jsp中怎樣才能同一個頁面同時顯示簡體和繁體? 就象本站一樣.
定时发送就好了
如果想发错了重发
上面程序改一下就好了
你看到有个地方catch了错误
把那段处理一下
那会不会产生我邮件发送成功了,但是客户没有收到,我这样的情况也是要重新发送的啊,这样的情况应该如何处理啊