您的位置:首页 > 其它

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

2017-09-15 10:40 711 查看


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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐