java ssh框架实现简单的邮箱发送

来源:互联网 发布:办公室网络限制玩游戏 编辑:程序博客网 时间:2024/04/30 21:48

全xml配置的ssh框架

在spring.xml中配置:

<!-- spring发送邮件的bean配置开始 -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 基于校验规则的邮件发送方式 -->
<!-- SMTP协议介绍 -->
<property name="javaMailProperties">
<props>
<!-- 必须进行授权认证,它的目的就是阻止他人任意乱发邮件 -->
<prop key="mail.smtp.auth">true</prop>
<!-- SMTP加密方式:连接到一个TLS保护连接 -->
<prop key="mail.smtp.starttls.enable">true</prop> 
<!-- 设置邮件发送超时时间 -->
<prop key="mail.smtp.timeout">30000</prop>
</props>
</property>
</bean>
<bean id="sendMail" class="cn.dupenghui.util.SendMailUtil">
<property name="mailSender" ref="mailSender"></property>
</bean>
<!-- spring发送邮件的bean配置结束 -->


发送邮件工具类:

package cn.dupenghui.util;

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.javamail.JavaMailSenderImpl;

public class SendMailUtil {

private static JavaMailSenderImpl mailSender;

//静态变量注入提供的get和set方法不能是静态方法,否则会报错,

public  JavaMailSenderImpl getMailSender() {
return mailSender;
}
public  void setMailSender(JavaMailSenderImpl mailSender) {
SendMailUtil.mailSender = 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;
}
}
}
1 0
原创粉丝点击