基本在每个项目中都会遇到发送邮件的需求,大家熟知的邮箱有新浪、雅虎、QQ、OUTLOOK等,想必大家也遇到过发送邮件总是被发送到垃圾邮箱中,下面是我找到的一个解决办法,仅供参考。

来源:互联网 发布:加粉猫加人软件下载 编辑:程序博客网 时间:2024/05/02 02:14

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


}
阅读全文
0 0