jsp中群发邮件
1、获取需要的jar文件,mail.jar(
[url]http://java.sun.com/products/javamail/[/url])和activation.jar(
[url]http://java.sun.com/products/javabeans/glasgow/jaf.html[/url]),将activation.jar和mail.jar复制到应用程序的/WEB-INF/lib中,即可使用。
2、sendmail文件代码:
package testEmail;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class sendEmail {
/**
* @param args
*/
public static void main(String[] args) {
* @param args
*/
public static void main(String[] args) {
Properties props = new Properties();
Session session = Session.getInstance(props, null);
props.put("mail.smtp.host", "119.145.130.86");//指定发送邮件服务器
props.put("mail.transport.protocol", "smtp");//发送协议
Session session = Session.getInstance(props, null);
props.put("mail.smtp.host", "119.145.130.86");//指定发送邮件服务器
props.put("mail.transport.protocol", "smtp");//发送协议
Message message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(" chenrongfang@mmclick.com"));// 发件人地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
" tocm@163.com"));// 收件人地址
message.setSubject("你好吗?");
message.setText("今天有空去玩吗");
// Transport.send(message);
try {
message.setFrom(new InternetAddress(" chenrongfang@mmclick.com"));// 发件人地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
" tocm@163.com"));// 收件人地址
message.setSubject("你好吗?");
message.setText("今天有空去玩吗");
// Transport.send(message);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.mmclick.com", "chenrongfang", "123456");//发送邮件服务器地址,用户名,密码
transport.sendMessage(message, message
.getRecipients(Message.RecipientType.TO));
transport.close();
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
transport.connect("smtp.mmclick.com", "chenrongfang", "123456");//发送邮件服务器地址,用户名,密码
transport.sendMessage(message, message
.getRecipients(Message.RecipientType.TO));
transport.close();
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
---------------------------
3,还附件的发送代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
file=this.loadFile(request);
MultiPartEmail email=new MultiPartEmail();// 创建多样式的邮件发送类,可参考EMAIL API DOC(有SimpleEmail类,都是父类都是Email类)
email.setCharset("utf-8");//必须发送前指定编码,否则乱码
email.setHostName("smtp.163.com");//指定网络主机
email.setAuthentication("tocm", "820724");//提供用户权限登录
try {
email.setFrom(params.get("from"));//设置发送人地址
email.addTo(params.get("receiver"));//设置收件人地址
email.setSubject(params.get("title"));//设置发送内容标题
email.setMsg(params.get("content"));//设置发送内容
if(file!=null){
EmailAttachment attachment=new EmailAttachment();
//创建邮件带附件的类,该类可对附件信息操作,并通过EMAIL类对象添加到EMAIL中同时发送
//创建邮件带附件的类,该类可对附件信息操作,并通过EMAIL类对象添加到EMAIL中同时发送
attachment.setName(file.getName());//附件名称
attachment.setDescription(EmailAttachment.ATTACHMENT);//附件描述信息
attachment.setPath(file.getPath());//附件路径
email.attach(attachment);//添加附件到MultiPartEmail对象中发送
}
email.send();//邮件发送
message="邮件发送成功";
} catch (EmailException e) {
message="邮件发送不成功";
}
request.setAttribute("message", message);
request.getRequestDispatcher("/sendEmailResult.jsp").forward(request, response);
}
public File loadFile(HttpServletRequest request){//创建独立文件上传方法,是对上传的附件先保存到服务器硬盘端然后再通过调取路径
attachment.setDescription(EmailAttachment.ATTACHMENT);//附件描述信息
attachment.setPath(file.getPath());//附件路径
email.attach(attachment);//添加附件到MultiPartEmail对象中发送
}
email.send();//邮件发送
message="邮件发送成功";
} catch (EmailException e) {
message="邮件发送不成功";
}
request.setAttribute("message", message);
request.getRequestDispatcher("/sendEmailResult.jsp").forward(request, response);
}
public File loadFile(HttpServletRequest request){//创建独立文件上传方法,是对上传的附件先保存到服务器硬盘端然后再通过调取路径
DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
try {
List list=upload.parseRequest(request);
Iterator it=list.iterator();
while(it.hasNext()){
FileItem item=(FileItem) it.next();
if(item.isFormField()){
params.put(item.getFieldName(),item.getString("utf-8"));
}else{
if(item.getName()!=null&&item.getName().equals("")){
ServletFileUpload upload=new ServletFileUpload(factory);
try {
List list=upload.parseRequest(request);
Iterator it=list.iterator();
while(it.hasNext()){
FileItem item=(FileItem) it.next();
if(item.isFormField()){
params.put(item.getFieldName(),item.getString("utf-8"));
}else{
if(item.getName()!=null&&item.getName().equals("")){
File tempFile=new File(item.getName());
file=new File(context.getRealPath("/")+savePath+"/"+tempFile.getName());
item.write(file);
}
}
}
} catch (Exception e) {
message="上传附件出错,发送不成功";
}
return file;
}
file=new File(context.getRealPath("/")+savePath+"/"+tempFile.getName());
item.write(file);
}
}
}
} catch (Exception e) {
message="上传附件出错,发送不成功";
}
return file;
}
public void init(ServletConfig config) throws ServletException {//调用初始化时的参数
savePath=config.getInitParameter("savaPath");
context=config.getServletContext();
}
savePath=config.getInitParameter("savaPath");
context=config.getServletContext();
}