
项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习。
首先需要在配置文件jdbc.properties添加:
#------------ Mail ------------
mail.smtp.auth=true
mail.smtp.timeout=25000
mail.smtp.starttls.enable=false
二、配置applicationContext.xml文件
<!-- 邮件发送 -->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="javaMailProperties">
<props>
<!-- SMTP服务器是否需要用户认证,默认为false -->
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<!-- I/O连接超时时间,单位为毫秒,默认为永不超时 -->
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<!-- starttls验证 -->
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
</props>
</property>
</bean>
三、在ServiceImpl声明注入
@Resource(name = "javaMailSender")
private JavaMailSenderImpl javaMailSender;
四、方法的调用
try {
javaMailSender.setHost("smtp.163.com");
javaMailSender.setPort();
javaMailSender.setUsername("test_mail@163.com");// 邮箱账号
javaMailSender.setPassword("123456");// 密码
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, false, "utf-8");
mimeMessageHelper.setFrom(MimeUtility.encodeWord("test_mail@163.com"));// 发送人
mimeMessageHelper.setSubject("邮件标题");// 邮件标题
mimeMessageHelper.setTo("12345678@qq.com");// 收件人
//mimeMessageHelper.setText("邮件内容", false);// 邮件内容,第二个参数表示是否发送的是HTML格式,true表示是,false表示否
// 添加邮件正文
MimeMultipart multipart = new MimeMultipart();
BodyPart contentPart = new MimeBodyPart();
contentPart.setContent("这里是邮件内容,测试邮件内容。", "text/html;charset=UTF-8");
multipart.addBodyPart(contentPart);
// 添加附件
String[] paths = { "D:\\1024.png", "D:\\text.txt" };
for (String filePath : paths) {
MimeBodyPart part = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filePath);
part.setFileName(MimeUtility.encodeWord(fds.getName()));// MimeUtility.encodeWord文件名解决中文乱码
part.setDataHandler(new DataHandler(fds));
multipart.addBodyPart(part);
}
mimeMessage.setContent(multipart); javaMailSender.send(mimeMessage);//发送 } catch (MessagingException e) {
e.printStackTrace();
}
注:所需包 activation.jar、mail-1.4.4.jar、spring.jar