备忘录:使用Spring发送各种类型的邮件,经测试,发送方和接收方可以是gmail,163。
当发送方是gmail时,设置有点不同。
Spring的设置:
<!-- Activates annotation-based bean configuration -->
<!--
<context:component-scan base-package="com.aboy" />
-->
<!-- JavaMailSender -->
<!--
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com" />
<property name="username" value="obullxl@163.com" />
<property name="password" value="********" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
</bean>
-->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="username" value="obullxl@gmail.com" />
<property name="password" value="********" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</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>
<!-- 简单的message -->
<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="to" value="obullxl@163.com" />
<property name="from" value="obullxl@gmail.com" />
<property name="subject" value="测试邮件" />
</bean>
<!-- MimeMessage -->
<bean id="mimeMessage" class="javax.mail.internet.MimeMessage" factory-bean="javaMailSender"
factory-method="createMimeMessage" />
上面的设置中,第一个JavaMailSender的发送方为163邮箱,后面的一个为gmail邮箱的。
下面是单元测试代码:
private JavaMailSender mailSender;
private MailMessage mailMessage;
private MimeMessage mimeMessage;
@Before
public void setUp() {
ApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/mail-context.xml");
Assert.notNull(context);
this.mailSender = context.getBean(JavaMailSender.class);
this.mailMessage = context.getBean(MailMessage.class);
this.mimeMessage = context.getBean(MimeMessage.class);
Assert.notNull(this.mailSender);
Assert.notNull(this.mailMessage);
Assert.notNull(this.mimeMessage);
}
/**
* 普通文本邮件
*/
@Test
public void testSendPlainTextMail() {
this.mailMessage.setSubject("普通文本邮件");
this.mailMessage.setText("测试Spring发送Email.");
try {
mailSender.send((SimpleMailMessage) this.mailMessage);
} catch (MailException e) {
System.out.println("Oops: 发送Email失败了....");
e.printStackTrace();
}
}
/**
* HTML格式邮件
* @throws MessagingException
*/
@Test
public void testSendHTMLMail() throws MessagingException {
MimeMessageHelper messageHelper = new MimeMessageHelper(this.mimeMessage, true, "UTF-8");
messageHelper.setTo("obullxl@163.com");
messageHelper.setFrom("obullxl@gmail.com");
messageHelper.setSubject("HTML格式邮件");
messageHelper.setText("<html><head></head><body><h2>Hello! Spring!</h2><b>XXX(中国)信息技术有限公司</b></body></html>", true);
this.mailSender.send(this.mimeMessage);
}
/**
* 带附件的HTML格式邮件
* @throws MessagingException
*/
@Test
public void testSetAttachMail() throws MessagingException {
MimeMessageHelper messageHelper = new MimeMessageHelper(this.mimeMessage, true, "UTF-8");
messageHelper.setTo("obullxl@163.com");
messageHelper.setFrom("obullxl@gmail.com");
messageHelper.setSubject("带附件的HTML格式邮件");
messageHelper.setText("<html><head></head><body><h2>Hello! Spring!</h2><b>XXX(中国)信息技术有限公司</b></body></html>", true);
FileSystemResource file = new FileSystemResource(new File("E:/Study/Spring/Spring-Validator.jpg")); // 根据个人情况设置
messageHelper.addInline("SpringValidator", file);
messageHelper.addAttachment("SpringValidator", file);
ClassPathResource resource = new ClassPathResource("jbpm.cfg.xml"); // 根据个人情况设置
messageHelper.addInline("jbpm.cfg.xml", resource);
messageHelper.addAttachment("jbpm.cfg.xml", resource);
this.mailSender.send(this.mimeMessage);
}
运行测试用例,即可看到结果!
分享到:
相关推荐
微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本...
NULL 博文链接:https://heweiya.iteye.com/blog/399657
备忘录:备忘:为Git存储库构建工件缓存
struts+spring+hibernate3+webligic812环境配置备忘录
SQL SERVER发送邮件设定全篇备忘整理。
博文链接:https://zsp.iteye.com/blog/160258
定时提醒、备忘提醒、支持邮件短信提醒、免费的支持云功能
微信小程序Demo:备忘录
备忘录 Meemo是个人数据经理。 它使您可以简单地输入任何类型的信息,例如注释,想法,想法,以及用作书签管理器和待办事项列表。 用户界面类似于由标签组织的新闻提要。 全文搜索还可以让您快速地在堆积的数据中...
备忘小工具自用版 v1.0 本软件本为自用版,非常简单,自我感觉很实用,故和大家分享~~~ ############################################### 本软件提供简易备忘录功能。 点击查看可查看当前所有备忘记录, 重置将所有...
=================== ----原创作品---- ----附带安装文件和源代码----- 仅供学习交流使用, 属于任务计划之类的小软件,可以定点提醒预先设定的事情,带有文字提示,有窗口震动效果,闹铃效果,可当闹钟使用
用java实现备忘时钟,适合初学者,用java实现备忘时钟,适合初学者,
反向壳备忘单::upside-down_face:反向壳备忘单:upside-down_face:
微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...