package org.sharpcode.util; import java.io.File; import java.util.Properties; import javax.mail.internet.MimeMessage; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; /** * * 发送邮件 * */ public class SendMail { /** * mail 简单邮件发送 * * */ private String mailservicehost; private String mailaccount; private String mailusername; private String mailpassword; public void setMailservicehost(String mailservicehost) { this.mailservicehost = mailservicehost; } public void setMailaccount(String mailaccount) { this.mailaccount = mailaccount; } public void setMailusername(String mailusername) { this.mailusername = mailusername; } public void setMailpassword(String mailpassword) { this.mailpassword = mailpassword; } public void Sendtext(String usermail, String zhuti, String text) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // 设定mail server senderImpl.setHost(mailservicehost); // 建立邮件消息 SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setTo(usermail); // 收件人 mailMessage.setFrom(mailaccount);// 发件人 mailMessage.setSubject(zhuti); // 主题 mailMessage.setText(text); // 内容 senderImpl.setUsername(mailusername); // 根据自己的情况,设置username senderImpl.setPassword(mailpassword); // 根据自己的情况, // 设置password Properties prop = new Properties(); prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确 prop.put("mail.smtp.timeout", "25000"); senderImpl.setJavaMailProperties(prop); // 发送邮件 senderImpl.send(mailMessage); } /** * 发送html邮件 usermail 收件人邮箱 zhuti 主题 html 内容 * */ public void sendHtml(String usermail, String zhuti, String html) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // 设定mail server senderImpl.setHost(mailservicehost); // 建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8"); // 设置收件人,寄件人 messageHelper.setTo(usermail); messageHelper.setFrom(mailaccount); messageHelper.setSubject(zhuti); // true 表示启动HTML格式的邮件 messageHelper.setText(html, true); senderImpl.setUsername(mailusername); // 根据自己的情况,设置username senderImpl.setPassword(mailpassword); // 根据自己的情况, // 设置password Properties prop = new Properties(); prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确 prop.put("mail.smtp.timeout", "25000"); senderImpl.setJavaMailProperties(prop); // 发送邮件 senderImpl.send(mailMessage); System.out.println("邮件发送成功.."); } /** * * 带附件的Email发送 收件人 标题 内容 文件路径 文件名 * */ public void sendfile(String usermail, String title, String content, String filepath, String fileName) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // 设定mail server senderImpl.setHost(mailservicehost); // 建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); // 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用, // multipart模式 为true时发送附件 可以设置html格式 MimeMessageHelper messageHelper = null; messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8"); // 设置收件人,寄件人 messageHelper.setTo(usermail); messageHelper.setFrom(mailaccount); messageHelper.setSubject(title); // 主题 // true 表示启动HTML格式的邮件 messageHelper.setText(content, true); // 内容 FileSystemResource file = new FileSystemResource(new File(filepath)); // 这里的方法调用和插入图片是不同的。 messageHelper.addAttachment(fileName, file); senderImpl.setUsername(mailusername); // 根据自己的情况,设置username senderImpl.setPassword(mailpassword); // 根据自己的情况, // 设置password Properties prop = new Properties(); prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确 prop.put("mail.smtp.timeout", "25000"); senderImpl.setJavaMailProperties(prop); // 发送邮件 senderImpl.send(mailMessage); } }