您的位置:首页 > 编程语言 > Java开发

spring调用邮件发送

2016-07-11 19:13 423 查看
今天总结一下学习的利用spring结合发送邮件的操作


首先在在spring的xml配置文件中配置邮件信息的bean:

<!-- 配置邮件发送bean -->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com"/>
<!-- 邮件服务器的账号密码(不是发件人) -->
<property name="username" value="studymail_test@163.com"/>
<property name="password" value="*********"/>
<property name="defaultEncoding" value="utf-8"/>
<property name="javaMailProperties">
<props>
<!-- 是否进行账号验证 -->
<prop key="mail.smtp.auth">true</prop>
<!-- 设置超时时间 -->
<prop key="mail.smtp.timeout">20000</prop>
</props>
</property>
</bean>


之后的操作我是利用了spring-test进行测试源代码如下:

import java.io.File;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class EmailTest {
@Autowired
private JavaMailSender javaMailSender; //邮件发送对象

@Test
public void sendEmail02(){
MimeMessage mimeMessage=javaMailSender.createMimeMessage(); //邮件信息类
try {
MimeMessageHelper smm=new MimeMessageHelper(mimeMessage,true);
smm.setFrom("studymail_test@163.com"); //邮件发送者
smm.setTo("studymail_test@qq.com"); //邮件接受者
smm.setSubject("Spring邮件整合测试"); //邮件主题
smm.setText("Hi,spring邮件发送好简单,好喜欢,太Happy了...<br/>"
+"<a href='http://www.baidu.com'>百度</a>"
+"<img src='cid:pic123' />",true); //邮件内容
FileSystemResource fsr=new FileSystemResource("C:/Users/Administrator/Desktop/Git.jpg"); //创建文件系统资源
smm.addInline("pic123", fsr); //把内容Id与文件系统资源绑定

FileSystemResource file = new FileSystemResource(new File("C:/Users/Administrator/Desktop/Git.txt"));
smm.addAttachment("CoolImage.txt", file); //添加附件
javaMailSender.send(mimeMessage); //发送邮件
System.out.println("邮件发送成功!!!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}


注意:在使用邮箱操作的时候需要将邮箱的POP3/SMTP服务开启,如图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 邮件