javaMail:
Javamail,顾名思义,提供给开发者处理电子邮件相关的变成编程接口.它是sun公司发布的用啦处理emial的API.
它可以方便地执行一些常用的邮件传输.JavaMail API是Sun公司为方便java开发人员在应用程序中实现邮件发送
和接收功能而提供的一套标准开发包,它支持一些常用的协议:如SMTP,POP3,IMAP.
开发人员使用JavaMail API编写邮件处理软件时,无须考虑邮件协议底层的实现,只需要调用JavaMail开发包中
相应的API类就可以买了
第一步,你的QQ邮箱开启了POP3/SMTP
QQ有限默认是没有开启的.
2.开始编写测试代码(使用Maven构架工程)
2.1需要添加的依赖:
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
TestSend:
/**
*
* @author 汤小萌
*
*/
public class TestSend {
private JavaMailSender javaMailSender;
public void setJavaMailSender(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
public void sendMail() throws MessagingException {
// 创建邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
// 邮件包装工具
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// 发件人
helper.setFrom("******@qq.com");
// 收件人
helper.setTo("*******@qq.com");
// 邮件标题
helper.setSubject("Mail Test");
// 邮件内容
helper.setText("你要是收到了这封邮件,代表测试成功!!!");
// 发送邮件
javaMailSender.send(mimeMessage);
}
}
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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
">
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- smtp:发送邮件的协议 -->
<property name="protocol" value="smtp"></property>
<!-- 邮件服务器的地址 -->
<property name="host" value="smtp.qq.com"></property>
<!-- 端口 -->
<property name="port" value="465"></property>
<!-- 邮箱用户名字,必须与发件人一致 -->
<property name="username" value="******@qq.com"></property>
<!-- 这个密码不是邮箱登录的密码,是你开启SMTP后台给你发送的面 -->
<property name="password" value="****"></property>
<property name="javaMailProperties">
<props>
<!-- 开启认证,会校验发件人是否为邮箱的用户 -->
<prop key="mail.smtp.auth">true</prop>
<!-- 采用ssl安全方式 -->
<prop key="mail.smtp.ssl.enable">true</prop>
</props>
</property>
</bean>
<bean id="testSend" class="cn.itcast.demo.TestSend">
<property name="javaMailSender" ref="javaMailSender"></property>
</bean>
</beans>
测试代码:
public class TestJavaMail {
@Test
public void testMail() throws MessagingException {
ClassPathXmlApplicationContext conf = new ClassPathXmlApplicationContext("classpath:applicationContext-mail.xml");
TestSend ts = (TestSend) conf.getBean("testSend");
ts.sendMail();
}
}
按照这种格式就可以发送邮件了