使用spring发送邮件
简单的测试,昨天研究了半天怎么在SSH发送电子邮件,搞了半天不知道怎么发送,于是在百度的搜索框里面搜索
SSH发送邮件,弄了半天有的代码貌似不全,都不知道怎么用。反正就是看不懂啊,
最后在搜索的过程中,在ssh中是spring中提供了发送电子邮件的功能,所有就更改了自己的搜索的关键字,
将之前的 SSH发送邮件 改为 SSH 邮件 最后更改为 spring 邮件 sring 发送邮件,结果收获可是颇丰啊!
这个代码能看懂,就是在spring中配置了一个bean,然后在一个类中调用了spring中的这个bean,然后发送成功电子邮件,
这是一个包含主方法的项目,运行的时候,右键运行java application即可。
就会对你已经设置好的邮箱进行发送邮件,不过个人觉得这个发送的过程是一个简单的文字的发送,没有参带附件什么的。
所以比较的简单。
经验总结,在百度搜索东西的时候一定要找准关键字。好好想想。
以下是实现的代码:注意要修改的是xml中是你的电子邮箱的用户名和密码。
SendMail.java
package com;
import javax.servlet.ServletException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
public class SendMail {
public ApplicationContext ctx = null;
public SendMail() {
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");// 获取上下文
}
/**
* 发送简单邮件
*/
public void sendMail1() {
JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");// 获取JavaMailSender
// bean
SimpleMailMessage mail = new SimpleMailMessage();
try {
mail.setTo("xxxxxxxxx@qq.com");// 接受者
mail.setFrom("xxxxxxxxxx@163.com");// 发送者
mail.setSubject("spring mail test!");// 主题
mail.setText("springMail 的简单发送测试");// 邮件内容
sender.send(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 主测试方法
*/
public static void main(String[] args) throws ServletException {
new SendMail().sendMail1();
}
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- 注意:这里的参数(如用户名、密码)都是针对邮件发送者的 -->
<beans>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>smtp.163.com</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username">
<value>xxxxxxxxx@163.com</value>
</property>
<property name="password">
<value>xxxxxxxxxx</value>
</property>
</bean>
</beans>