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; }}