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