ssm整合JavaMail发送邮件

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

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

配置mail.properties

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

配置applicationContext.xml

    <!--邮件配置-->
	<context:property-placeholder location="classpath:mail.properties" ignore-unresolvable="true"/>
	
	<!--配置邮件接口bean-->
	<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>

以上就完成了环境配置,接下来编写一个测试类,使用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 = "xxx@163.com";	//收件人邮箱
	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();
		}
		
	}
	
}

成功接收到发送的邮件

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值