package com.guilin.utils.sms;
import java.util.Date;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import com.guilin.utils.SetSystemProperty;
public class SendMail {
private static JavaMailSenderImpl mailSender;
/**
* 即时发送简单内容邮件
*
* @param reciveEmail
* 接收邮箱
* @param subject
* 邮件主题
* @param Text
* 邮件内容
* @return
*/
public static boolean sendEmail(String reciveEmail, String subject,
String Text) throws Exception {
// SimpleMailMessage ssm = new SimpleMailMessage();
// ssm.setFrom(SetSystemProperty.getKeyValue("MAILSENDER_USERNAME"));// cndona@163.com
// ssm.setTo(reciveEmail);
// ssm.setSubject(subject);
// ssm.setSentDate(new Date());
// ssm.setText(Text);
Properties props = new Properties(); // 用于连接邮件服务器的参数配置(发送邮件时才需要用到)
Session session = Session.getDefaultInstance(props); // 根据参数配置,创建会话对象(为了发送邮件准备的)
MimeMessage message = new MimeMessage(session); // 创建邮件对象
// 2. From: 发件人
// 其中 InternetAddress 的三个参数分别为: 邮箱, 显示的昵称(只用于显示, 没有特别的要求), 昵称的字符集编码
// 真正要发送时, 邮箱必须是真实有效的邮箱。
message.setFrom(new InternetAddress(SetSystemProperty
.getKeyValue("MAILSENDER_USERNAME"), " 发送者名称", "UTF-8"));
// 3. To: 收件人
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(
reciveEmail, "USER_CC", "UTF-8"));
// 4. Subject: 邮件主题
message.setSubject(subject, "UTF-8");
// 5. Content: 邮件正文(可以使用html标签)
message.setContent(Text, "text/html;charset=UTF-8");
mailSender.setHost(SetSystemProperty.getKeyValue("MAILSENDER_HOST"));
mailSender.setUsername(SetSystemProperty
.getKeyValue("MAILSENDER_USERNAME"));
mailSender.setPort(Integer.valueOf(SetSystemProperty
.getKeyValue("MAILSENDER_PORT")));
mailSender.setPassword(SetSystemProperty
.getKeyValue("MAILSENDER_PASSWORD"));
try {
mailSender.send(message);
return true;
} catch (MailException e) {
e.printStackTrace();
return false;
}
}
public static JavaMailSenderImpl getMailSender() {
return mailSender;
}
public static void setMailSender(JavaMailSenderImpl mailSender) {
SendMail.mailSender = mailSender;
}
}