1 spring-smtp-mail.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">
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 服务器 -->
<property name="host" value="smtp.163.com" />
<!-- 端口号 -->
<property name="port" value="25" />
<!-- 用户名 -->
<property name="username" value="*******@163.com" />
<!-- 密码 -->
<property name="password" value="*****" />
<!-- SMTP服务器验证 -->
<property name="javaMailProperties">
<props>
<!-- 验证身份 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
<!--
目前我用过的EMAIL账号都是网易的,下面列出网易的SMTP服务器名和端口号:
网易邮箱 SMTP服务器 SMTP端口 POP3服务器 POP3端口
@126.com smtp.126.com 25 pop3.126.com 110
@163.com smtp.163.com 25 pop3.163.com 110
@yeah.net smtp.yeah.net 25 pop3.yeah.net 110
-->
<bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
<!-- 发件人email -->
<property name="from" value="15201904315@163.com" />
<!--
收件人email
<property name="to" value="to@yeah.net" />
email主题(标题)
<property name="subject" value="Subject" />
-->
<!--email主题内容-->
<property name="text">
<value>
<![CDATA[
Dear %s,
Mail Content : %s
]]>
</value>
</property>
</bean>
<bean id="simpleMail" class="com.richard.config.mailConfig"> <property name="mailSender" ref="mailSender" /> <property name="simpleMailMessage" ref="simpleMailMessage" /> </bean> </beans>
2 mailConfig 类
public class mailConfig {
private MailSender mailSender;
private SimpleMailMessage simpleMailMessage;
private JavaMailSender javaMailSender;
/**
* @方法名: sendMail
* @参数名:@param subject 邮件主题
* @参数名:@param content 邮件主题内容
* @参数名:@param to 收件人Email地址
* @描述语: 发送邮件
*/
public void sendMail(String subject, String content, String to) {
simpleMailMessage.setSubject(subject); //设置邮件主题
simpleMailMessage.setTo(to); //设定收件人
simpleMailMessage.setText(content); //设置邮件主题内容
mailSender.send(simpleMailMessage); //发送邮件
}
public void sendMail_File(String subject, String mail_to,String dear, String content,String filepath){
MimeMessage mimeMessage=javaMailSender.createMimeMessage();
try {
MimeMessageHelper mimeMessageHelper=new MimeMessageHelper(mimeMessage,true);
mimeMessageHelper.setFrom(simpleMailMessage.getFrom());
mimeMessageHelper.setTo(mail_to);
mimeMessageHelper.setSubject(subject);
mimeMessageHelper.setText(String.format(
simpleMailMessage.getText(), dear, content));
FileSystemResource file = new FileSystemResource(filepath);
mimeMessageHelper.addAttachment(file.getFilename(), file);
}catch (Exception ex){
throw new MailParseException(ex);
}
javaMailSender.send(mimeMessage);
}
//Spring 依赖注入
public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
this.simpleMailMessage = simpleMailMessage;
}
//Spring 依赖注入
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
//Spring 依赖注入
public void setMailSender(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
}
3 test 类
@Test
public void sendEmail(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring-smtp-mail.xml");
mailConfig mail = (mailConfig)context.getBean("simpleMail");
//mail.sendMail("Spring SMTP Mail Subject", "Spring SMTP Mail Text", "2391492524@qq.com");
//mail.sendMail("标题", "内容", "收件人邮箱");
mail.sendMail_File("test file","2391492524@qq.com","MouMou","test file","D:\1.jpg");
}