<!--邮件发送-->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>${javax.mail.version}</version>
</dependency>
复制代码
版本为:java
获取邮件服务器配置信息:spring
先在邮箱中设置开启smtp和pop3服务而后拿到受权码:bash
mail.properties文件:服务器
mail.smtp.host=smtp.126.com
mail.smtp.username=gloryfung@126.com
mail.smtp.password=xxxxx
mail.smtp.defaultEncoding=utf-8
mail.smtp.auth=true
mail.smtp.timeout=20000
复制代码
<!--邮件配置-->
<context:property-placeholder location="classpath:conf/mail.properties" ignore-unresolvable="true"/>
复制代码
注意加载多个配置的时候,均要加上ignore-unresolvable="true"属性,是配置文件中存在多个property-placeholder时出现解析不了的占位符进行忽略掉,详细解释能够参考这位大神的博客:blog.csdn.net/ilovec1/art…mybatis
<!--配置邮件接口-->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.smtp.host}"/>
<property name="username" value="${mail.smtp.username}"/>
<property name="password" value="${mail.smtp.password}"/>
<property name="defaultEncoding" value="${mail.smtp.defaultEncoding}"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
</props>
</property>
</bean>
复制代码
5.编写测试类:app
package cn.idragonboat.service.impl;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.messaging.MessagingException;
import org.springframework.stereotype.Service;
import cn.idragonboat.service.SendMailService;
@Service
public class SendMailServiceImpl implements SendMailService{
@Autowired
private JavaMailSender javaMailSender;//在spring中配置的邮件发送的bean
@Override
public Object sendMail() {
MimeMessage mMessage=javaMailSender.createMimeMessage();//建立邮件对象
MimeMessageHelper mMessageHelper;
Properties prop = new Properties();
String from;
try {
//从配置文件中拿到发件人邮箱地址
prop.load(this.getClass().getResourceAsStream("/conf/mail.properties"));
from = prop.get("mail.smtp.username")+"";
mMessageHelper=new MimeMessageHelper(mMessage,true);
mMessageHelper.setFrom(from);//发件人邮箱
mMessageHelper.setTo("844264382@qq.com");//收件人邮箱
mMessageHelper.setSubject("Spring的邮件发送");//邮件的主题
mMessageHelper.setText("你好,该睡觉了");
File file=new File("C:/Users/84426/Pictures/Saved Pictures/code.png");//在邮件中添加一张图片
FileSystemResource resource=new FileSystemResource(file);
mMessageHelper.addInline("code", resource);//这里指定一个id,在上面引用
mMessageHelper.addAttachment("代码.png", resource);//在邮件中添加一个附件
javaMailSender.send(mMessage);//发送邮件
} catch (Exception e) {
System.out.println("e:" + e);
}
return "发送成功";
}
}
复制代码
从新install parent工程,clean 聚合工程,再install到本地仓库,启动工程。maven
前台调度: http://localhost:8080/mail/sendide