ssm整合JavaMail发送邮件

使用ssm框架整合实现Java发送邮件需要先开启邮箱的smtp和pop3服务。实测开启第一个即可,如图

ssm整合JavaMail发送邮件_第1张图片

 还需要导入一个javax.mail-1.6.2.jar包。

配置mail.properties

#服务器主机名 smtp.xx.com
mail.smtp.host=smtp.163.com
[email protected]
#密码/客户端授权码,非邮箱登录密码
mail.smtp.password=XXXXXXXXX
#编码字符
mail.smtp.defaultEncoding=utf-8
#是否进行用户名密码校验
mail.smtp.auth=true
#设置超时时间
mail.smtp.timeout=20000

配置applicationContext.xml

    
	
	
	
	
	     
	     
	     
	     
	     
	         
	             ${mail.smtp.auth}
	             ${mail.smtp.timeout}
	         
	     
	

以上就完成了环境配置,接下来编写一个测试类,使用spring的junit测试。

package ts.test;

import java.io.File;
import java.util.Properties;

import javax.mail.internet.MimeMessage;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
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:applicationContext.xml")
@PropertySource("classpath:mail.properties")	//导入mail.properties
public class TestMail {
	
	@Autowired
	private JavaMailSender javaMailSender;	//在spring中配置的邮件发送的bean
	
	@Value("${mail.smtp.username}")	//通过注解获取配置文件属性值
	String from;	//发件人邮箱
	String to = "[email protected]";	//收件人邮箱
	String subject = "由JavaMail发送";	//邮件主题
	String text = "你好,这是一封来自SSM框架整合JavaMail的邮件";	//邮件正文
	File file = new File("C:/Users/admin/Desktop/3.jpeg");	//发送一个文件
	
	@Test
	public void testSend() {
		
		MimeMessage message = javaMailSender.createMimeMessage();	//创建邮件对象
		MimeMessageHelper messageHelper;	//处理MimeMessage的辅助类
		try {
			messageHelper = new MimeMessageHelper(message, true);
			messageHelper.setFrom(from);
			messageHelper.setTo(to);
			messageHelper.setSubject(subject);
			messageHelper.setText(text,true);	//true代表支持html格式
			
			messageHelper.addAttachment(file.getName(), file);	//以附件形式发送一个文件
			
			javaMailSender.send(message);
			System.out.println("success!");
			
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
}

成功接收到发送的邮件

ssm整合JavaMail发送邮件_第2张图片

你可能感兴趣的:(JavaWeb)