什么是JavaMail?
Demo示例
1. 申请邮箱
我这里申请的是新浪邮箱,进入后开通 POP3/SMTP 服务
2. 创建工程,编写 POM 文件
创建maven工程,添加spring和JavaMail依赖,JavaMail依赖如下,版本自选
<!-- Javamail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
3. 编写用于发送 EMAIL
package com.test;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
public class TestSend {
private JavaMailSender javaMailSender;
public void setJavaMailSender(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
public void sendMail() throws MessagingException{
MimeMessage mime = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mime);
helper.setFrom("******@sina.com");//发件人邮箱
helper.setTo("******@qq.com");//收件人邮箱
helper.setSubject("测试邮件");//主题
helper.setText("收到这封邮件,你就成功了");//内容
javaMailSender.send(mime);
}
public static void main(String[] args) throws MessagingException {
ApplicationContext context=new
ClassPathXmlApplicationContext("applicationContext-mail.xml");
TestSend testSend= (TestSend) context.getBean("testSend");
testSend.sendMail();
}
}
4. 编写 spring 件 配置文件 applicationContext-mail.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="protocol" value="smtp"/>
<property name="host" value="smtp.sina.com"/>
<property name="port" value="25" />
<property name="username" value="******@sina.com"/><!-- 发送者邮箱 -->
<property name="password" value="de********6e"/><!-- 这个是邮箱的授权码,不是登录密码,新浪的授权码只能重置,不能查看 -->
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
<bean id="testSend" class="com.test.TestSend">
<property name="javaMailSender" ref="mailSender"></property>
</bean>
</beans>