废话不说.直接上代码
xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd ">
<!-- java mailSender start -->
<bean id="mailBaseService" class="com.ybzt.common.mail.impl.MailBaseServiceImpl">
<!-- 服务器 -->
<property name="host" value="smtp.163.com" />
<!-- 端口号 -->
<property name="port" value="25" />
<!-- 用户名 -->
<property name="username" value="[email protected]" />
<!-- 密码 -->
<property name="password" value="xxxx" />
<!-- SMTP服务器验证 -->
<property name="javaMailProperties">
<props>
<!-- 验证身份 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<!-- 发件人email -->
<property name="from" value="[email protected]" />
</bean>
<!-- java mailSender end -->
</beans>
接口类:
package com.ybzt.common.mail;
import java.io.File;
import javax.mail.MessagingException;
import org.springframework.mail.javamail.JavaMailSender;
/**
*
*
* @ClassName: IMailBaseService
*
* @Description: 发送邮件服务类
*
*
*
*
*/
public interface IMailBaseService extends JavaMailSender {
/**
*
* @Title:sendMail
* @Description:发送邮件
* @param subject
* 主题
* @param content
* 内容
* @param to
* 收件人
* @return void
*/
public void sendMail(String subject, String content, String[] to) throws MessagingException;
/**
*
* @Title:sendMail
* @Description:发送邮件
* @param subject
* 主题
* @param content
* 内容
* @param to
* 收件人
* @param attachment
* 附件
* @return void
*/
public void sendMail(String subject, String content, String[] to, File attachment) throws MessagingException;
public void sendMail(String subject, String content, String[] to, File[] attachments) throws MessagingException;
}
实现类:
package com.ybzt.common.mail.impl;
import java.io.File;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import com.ybzt.common.mail.IMailBaseService;
public class MailBaseServiceImpl extends JavaMailSenderImpl implements IMailBaseService {
private static Log loger = LogFactory.getLog(MailBaseServiceImpl.class);
private String from;
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
@Override
public void sendMail(String subject, String content, String[] to) throws MessagingException {
// 建立邮件消息,发送简单邮件和html邮件的区别
MimeMessage mailMessage = createMimeMessage();
// 为防止乱码,添加编码集设置
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, "UTF-8");
try {
messageHelper.setFrom(from);
messageHelper.setSubject(subject); // 设置邮件主题
messageHelper.setTo(to); // 设定收件人
messageHelper.setText(content, true); // 设置邮件内容
send(mailMessage); // 发送邮件
} catch (MessagingException e) {
loger.error("发送邮件时出错:" + e);
throw e;
}
}
@Override
public void sendMail(String subject, String content, String[] to, File attachment) throws MessagingException {
// 建立邮件消息,发送简单邮件和html邮件的区别
MimeMessage mailMessage = createMimeMessage();
// 为防止乱码,添加编码集设置
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");
try {
messageHelper.setFrom(from);
messageHelper.setSubject(subject); // 设置邮件主题
messageHelper.setTo(to); // 设定收件人
messageHelper.setText(content, true); // 设置邮件内容
// 添加附件的内容
if (attachment != null) {
messageHelper.addAttachment(attachment.getName(), attachment);
}
send(mailMessage); // 发送邮件
} catch (MessagingException e) {
loger.error("发送邮件时出错:" + e);
throw e;
}
}
@Override
public void sendMail(String subject, String content, String[] to, File[] attachments) throws MessagingException {
// 建立邮件消息,发送简单邮件和html邮件的区别
MimeMessage mailMessage = createMimeMessage();
// 为防止乱码,添加编码集设置
MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");
try {
messageHelper.setFrom(from);
messageHelper.setSubject(subject); // 设置邮件主题
messageHelper.setTo(to); // 设定收件人
messageHelper.setText(content, true); // 设置邮件内容
// 添加附件的内容
if (attachments != null && attachments.length > 0) {
for (File attachment : attachments) {
messageHelper.addAttachment(attachment.getName(), attachment);
}
}
send(mailMessage); // 发送邮件
} catch (MessagingException e) {
loger.error("发送邮件时出错:" + e);
throw e;
}
}
}
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
然后在别的service 或者controller 直接调用..