您的位置:首页 > 编程语言 > Java开发

spring文本的,有图片的,有附件的邮件发送

2011-05-25 17:27 603 查看
import java.io.File;
import java.util.Properties;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.commons.lang.StringUtils;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import com.opensymphony.xwork2.ActionSupport;

public class SpringMailSend extends ActionSupport{
 
 private static final long serialVersionUID = 1L;
 private String sendMailRezult;
 private String mailTitle;
 private String mailContent;
 private String mailListStr;
 
 public String sendMailForFile() {
  try {
   String[] mailArr = mailListStr.split(":");
   InternetAddress[] mailList = new InternetAddress[mailArr.length];
   for (int i = 0; i < mailArr.length; i++) {
    if (!StringUtils.equals(mailArr[i], "")) {
     mailList[i] = new InternetAddress(mailArr[i]);
    }
   }
   JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
   // 设定mail server
   senderImpl.setHost("xxxxx");
   senderImpl.setUsername("xxxxx"); // 根据自己的情况,设置username
   senderImpl.setPassword("xxxxx"); // 根据自己的情况, 设置password
   Properties prop = new Properties();
   prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
   prop.put("mail.smtp.timeout", "25000");
   senderImpl.setJavaMailProperties(prop);
   // 建立邮件消息,发送简单邮件和html邮件的区别
   MimeMessage mailMessage = senderImpl.createMimeMessage();
   // 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
   // multipart模式
   MimeMessageHelper messageHelper = new MimeMessageHelper(
     mailMessage, true,"utf-8");
   // 设置收件人,寄件人
   messageHelper.setTo(mailArr);
   messageHelper.setFrom("xxxxx");
   messageHelper.setSubject(getMailTitle());
   // true 表示启动HTML格式的邮件
   messageHelper.setText(
     "<html><head></head><body><h1>"+getMailContent()+"</h1></body></html>", true);
   FileSystemResource img = new FileSystemResource(new File("c:/gxfc.gif"));
   FileSystemResource img1 = new FileSystemResource(new File("c:/test.htm"));
   messageHelper.addAttachment("test1", img);
   messageHelper.addAttachment("test2", img1);
   // 发送邮件
   senderImpl.send(mailMessage);
   System.out.println("邮件发送成功..");
  } catch (Exception e) {
   e.printStackTrace();
  }
  sendMailRezult="1";
  return SUCCESS;
 }
 public String sendMailForImage() {
  try {
   String[] mailArr = mailListStr.split(":");
   InternetAddress[] mailList = new InternetAddress[mailArr.length];
   for (int i = 0; i < mailArr.length; i++) {
    if (!StringUtils.equals(mailArr[i], "")) {
     mailList[i] = new InternetAddress(mailArr[i]);
    }
   }
   JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
   // 设定mail server
   senderImpl.setHost("xxxxx");
   senderImpl.setUsername("xxx"); // 根据自己的情况,设置username
   senderImpl.setPassword("xxxvan"); // 根据自己的情况, 设置password
   Properties prop = new Properties();
   prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
   prop.put("mail.smtp.timeout", "25000");
   senderImpl.setJavaMailProperties(prop);
   // 建立邮件消息,发送简单邮件和html邮件的区别
   MimeMessage mailMessage = senderImpl.createMimeMessage();
   // 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
   // multipart模式
   MimeMessageHelper messageHelper = new MimeMessageHelper(
     mailMessage, true,"utf-8");
   // 设置收件人,寄件人
   messageHelper.setTo(mailArr);
   messageHelper.setFrom("xxx@sh.vanceinfo.com");
   messageHelper.setSubject(getMailTitle());
   // true 表示启动HTML格式的邮件
   messageHelper.setText(
     "<html><head></head><body><h1>"+getMailContent()+"</h1>"
       + "<img src=/"cid:gongxi/"/></body></html>", true);
   FileSystemResource img = new FileSystemResource(new File("c:/gxfc.gif"));
   messageHelper.addInline("gongxi", img);
   // 发送邮件
   senderImpl.send(mailMessage);
   System.out.println("邮件发送成功..");
  } catch (Exception e) {
   e.printStackTrace();
  }
  sendMailRezult="1";
  return SUCCESS;
 }
 
 public String sendMailForTxt() {
  try {
   String[] mailArr = mailListStr.split(":");
   InternetAddress[] mailList = new InternetAddress[mailArr.length];
   for (int i = 0; i < mailArr.length; i++) {
    if (!StringUtils.equals(mailArr[i], "")) {
     mailList[i] = new InternetAddress(mailArr[i]);
    }
   }
   JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
   // 设定mail server
   senderImpl.setHost("xxxxx");
   senderImpl.setUsername("xxx"); // 根据自己的情况,设置username
   senderImpl.setPassword("xxxvan"); // 根据自己的情况, 设置password
   Properties prop = new Properties();
   prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
   prop.put("mail.smtp.timeout", "25000");
   senderImpl.setJavaMailProperties(prop);
   // 建立邮件消息,发送简单邮件和html邮件的区别
   SimpleMailMessage mailMessage  =   new  SimpleMailMessage();
   mailMessage.setTo(mailArr);
      mailMessage.setFrom("xxxxx");
      mailMessage.setSubject(getMailTitle());
      mailMessage.setText(getMailContent());
   // 发送邮件
   senderImpl.send(mailMessage);
   System.out.println("邮件发送成功..");
  } catch (Exception e) {
   e.printStackTrace();
  }
  sendMailRezult="1";
  return SUCCESS;
 }
 public String getMailListStr() {
  return mailListStr;
 }
 public void setMailListStr(String mailListStr) {
  this.mailListStr = mailListStr;
 }
 public String getSendMailRezult() {
  return sendMailRezult;
 }
 public void setSendMailRezult(String sendMailRezult) {
  this.sendMailRezult = sendMailRezult;
 }
 public String getMailTitle() {
  return mailTitle;
 }
 public void setMailTitle(String mailTitle) {
  this.mailTitle = mailTitle;
 }
 public String getMailContent() {
  return mailContent;
 }
 public void setMailContent(String mailContent) {
  this.mailContent = mailContent;
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐