spring+mail+maven(spring 发送邮件)
来源:互联网 发布:美橙互联 域名转出 编辑:程序博客网 时间:2024/05/31 19:55
目前在网易邮箱测试通过,QQ和其他邮箱存在问题,注意必须先在邮箱里开启smtp功能。
1.用maven引入jar:
spring相关jar:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.2.6.RELEASE</version> </dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.2.6.RELEASE</version> </dependency>
mail相关jar:
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
2.spring配置文件bean.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:mail.properties</value> </list> </property> </bean> <!-- 邮件发送器 163 --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.host}" /> <property name="username" value="${mail.username}" /> <property name="password" value="${mail.password}" /> <property name="defaultEncoding" value="UTF-8"></property> <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> <!-- 邮件发送器 gmail --> <!-- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.host}" /> <property name="username" value="${mail.username}" /> <property name="password" value="${mail.password}" /> <property name="defaultEncoding" value="UTF-8"></property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop> <prop key="mail.smtp.port">465</prop> <prop key="mail.smtp.socketFactory.port">465</prop> <prop key="mail.smtp.socketFactory.fallback">false</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> </props> </property> </bean> -->
3.mail.properties配置文件:
##### 163 ###mail.from=lifeng_it@163.commail.host=smtp.163.commail.password=****mail.smtp.auth=truemail.smtp.timeout=25000mail.username=lifeng_it@163.com##### qq ####mail.from=729088240@qq.com#mail.host=smtp.qq.com#mail.password=****#mail.smtp.auth=true#mail.smtp.timeout=2500000#mail.username=729088240@qq.com###### gmail ###########mail.from=wzqdemo@163.com #mail.host=smtp.gmail.com #mail.password=******** #mail.smtp.auth=true #mail.smtp.timeout=25000 #mail.username=wzqdemo@gmail.com
4.MailBean实体类,set。get略:
public class MailBean {private String from; private String fromName; private String[] toEmails; private String subject; private String context;
5.编写核心类:
package com.lifeng.shiro.jmail;import java.io.UnsupportedEncodingException;import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.stereotype.Service;@Servicepublic class MailSenderService {@Autowiredprivate JavaMailSenderImpl javaMailSenderImpl;/** * 创建MimeMessage * @param mailBean * @return * @throws MessagingException * @throws UnsupportedEncodingException */public MimeMessage createMimeMessage(MailBean mailBean) throws MessagingException, UnsupportedEncodingException{MimeMessage mimeMessage = javaMailSenderImpl.createMimeMessage();MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");messageHelper.setFrom(mailBean.getFrom(), mailBean.getFromName()); messageHelper.setSubject(mailBean.getSubject()); messageHelper.setTo(mailBean.getToEmails()); messageHelper.setText(mailBean.getContext(), true); // html: true return mimeMessage;}public void sendMail(MailBean mailBean) throws UnsupportedEncodingException, MessagingException{MimeMessage msg = createMimeMessage(mailBean);javaMailSenderImpl.send(msg);}}
6.测试类:
package com.lifeng.shiro.jmail;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class MailSenderUtil {/** * 参考:http://wang3065.iteye.com/blog/1718381 * @param args * @throws Exception */public static void main(String[] args) throws Exception{ApplicationContext ac = new ClassPathXmlApplicationContext("spring-mail.xml");MailSenderService mailSenderService = (MailSenderService) ac.getBean("mailSenderService");MailBean mailBean = new MailBean();mailBean.setFrom("lifeng_it@163.com");mailBean.setFromName("XXX");mailBean.setSubject("你好");mailBean.setToEmails(new String[]{"729088240@qq.com","182957182222@139.com"});mailBean.setContext("<a href='www.baidu.com'><font color='red'>fdsfdsf</font></a>");mailSenderService.sendMail(mailBean);}}
1 1
- spring+mail+maven(spring 发送邮件)
- Spring Mail邮件发送
- spring mail发送邮件
- spring mail 发送邮件
- Spring mail 发送邮件
- spring mail 发送邮件
- Spring mail 发送邮件
- Spring mail 发送邮件
- Spring Mail实现发送邮件
- 使用Spring Mail发送邮件
- Spring mail实现邮件发送
- spring mail简单邮件发送
- spring mail发送TLS邮件
- Spring的Mail邮件发送
- spring-boot mail 邮件发送
- Java发送邮件(spring mail + apache mail)
- Java发送邮件(spring mail + apache mail)
- Maven+Spring+邮件发送
- poj2823 Sliding Window(单调队列)
- android_TimePicker
- 资格考试_第五章_基金职业道德
- springMVC向页面传值
- jquery的ajax同步和异步
- spring+mail+maven(spring 发送邮件)
- JavaScript王者归来05
- Android开发环境下载与搭建
- 2016.3.3 软件工程基础
- 【HTTP】Fiddler(一) - Fiddler简介
- 了解了一堆我也不知道是什么了
- java传值与传引用的三种情况
- 专业相框设计(ImageView的堆栈应用)
- bzoj2821 作诗(Poetize)