关于使用 Spring 发送简单邮件

  这是通过Spring 框架内置的功能完成简单邮件发送的测试用例。

  1. 导入相关的 jar 包.

Spring 邮件抽象层的主要包为 org.springframework.mail。

它包括了发送电子邮件的主要接口 MailSender,和值对象 SimpleMailMessage,它封装了简单邮件的属性。

如 from,to,cc, subject,text。

  2. 在邮箱设置中打开邮件的发送服务:

  

  3. 在src目录下建立mail.properties文件里边包含一下内容

mail.host=smtp.exmail.qq.com (邮箱的发送域名设置)
mail.username=你的邮箱名
mail.password=你的邮箱密码
mail.from=发送方的邮箱

  4. spring配置

 1 <!-- 加载Properties文件 -->
 2 <bean id="configurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 3     <property name="locations">
 4         <list>
 5             <value>classpath:mail.properties</value>
 6         </list>
 7     </property>
 8 </bean>
 9 <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
10     <property name="from">
11         <value>${mail.from}</value>
12     </property>
13     <!-- 查看SimpleMailMessage源码还可以注入标题,内容等 -->
14 </bean>
15 <!-- 申明JavaMailSenderImpl对象 -->
16 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
17     <property name="defaultEncoding" value="UTF-8" />
18     <property name="host" value="${mail.host}" />
19     <property name="username" value="${mail.username}" />
20     <property name="password" value="${mail.password}" />
21     <property name="javaMailProperties">
22         <props>
23             <!-- 设置认证开关 -->
24             <prop key="mail.smtp.auth">true</prop>
25             <!-- 启动调试开关 -->
26             <prop key="mail.debug">true</prop>
27             <!-- 设置发送延时 -->
28             <prop key="mail.smtp.timeout">0</prop>
29         </props>
30     </property>
31 </bean>
32 </beans>

  5. action中添加简单的发送方法

 1 /**
 2 * 本类测试邮件发送Html形式
 3 */
 4 public class SingleMailSend {
 5     static ApplicationContext actx =
 6         new ClassPathXmlApplicationContext("applicationContext.xml");
 7     static MailSender sender = (MailSender) actx.getBean("mailSender");
 8     static SimpleMailMessage mailMessage =
 9         (SimpleMailMessage) actx.getBean("mailMessage");
10     public static void main(String args[]) throws MessagingException {
11         mailMessage.setSubject("你好");
12         mailMessage.setText("这个是一个通过Spring框架来发送邮件的小程序");
13         mailMessage.setTo("******@qq.com");
14         sender.send(mailMessage);
15     }
16 }
时间: 2024-12-17 11:44:41

关于使用 Spring 发送简单邮件的相关文章

SpringBoot 发送简单邮件

使用SpringBoot 发送简单邮件 1. 在pom.xml中导入依赖 <!--邮件依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 2. 配置application.properties文件 在此我们以QQ邮箱为例,

JavaMail发送简单邮件

Properties props = new Properties();// 回话Session session = Session.getInstance(props);session.setDebug(true);// 构建邮件正文Message message = new MimeMessage(session);// 发送者message.setFrom(new InternetAddress("发送邮箱地址")); // 设置接收者message.setRecipient(R

java spring 开启SMTP服务发送QQ邮件

首先进入自己的QQ邮箱,在设置中修改账户信息 然后来至底部 点击开启,再用手机发送对应信息到指定号码,然后点击我已发送 获取授权码 注意提示: 到这里,相信你已经开通了SMTP服务,这样就可以在java code发送邮件了 接下来的是Spring 中使用邮件服务 首先是配置信息使用的是587端口,刚开始用465端口我纠结了好久(使用465端口的错误详情),用不了,你可以尝试,默认的25端口应该也是不适合的 <!-- 邮件服务 --> <bean id="mailSender&q

Spring 发送内嵌图片的邮件 遇到的问题

问题1:spring 发送带图片的html格式的邮件? 解决方法1:直接在发送内容里面添加 <img src="http://www.rgagnon.com/images/jht.gif"> 这种方法是最简单的发送带图片的邮件的方法,但是存在一个问题:有的邮箱会把邮件中有带服务器地址的图片放到垃圾箱,导致邮件收不到,于是继续整. 解决方法2:使用Spring带的 MimeMessageHelper,说不清楚直接看代码: 1 public class MyClass { 2

spring boot:邮件服务

引入依赖 添加spring-boot-starter-mail包引用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 配置文件 spring: mail: host: smtp.163.com username: 用户名 password: 密

JavaMail(二):利用JavaMail发送复杂邮件

上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用JavaMail发送简单邮件 封装发送邮件代码 /** * 封装发送邮件代码 * @author fly * @时间 2017-05-09 * */ public class Email { /** * 创建并发送一封包含文本.图片.附件的复杂邮件 * @throws Exception */ publ

spring+velocity+javamail发送模板邮件

有时候当我们注册完的时候系统会提示有一封邮件发送到了你的邮箱,如何做呢? 就要用到spring+velocity+javamail这3个玩意,其实只用了spring,因为其他2个都被spring集成了. 先看代码 package com.worthtech.app.util; import java.io.File; import java.util.Map; import javax.mail.MessagingException; import javax.mail.internet.Mim

基于JavaMail的Java邮件发送:简单邮件发送

http://blog.csdn.net/xietansheng/article/details/51673073 http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html http://blog.csdn.net/ghsau/article/details/17839983 ******************** 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信

java实现简单邮件发送

java实现简单邮件发送