`

Spring 代理 JavaMailSenderImpl 服务器发送邮件

 
阅读更多
http://my.oschina.net/u/2328736/blog/511794
我用maven:重要的项目:
<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.1.6.RELEASE</version>
 </dependency>
  
 <!-- java mail -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.2</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.2</version>
        </dependency>



配置org.springframework.mail.javamail.JavaMailSenderImpl:
<!-- Spring 代理 Javamail,这里使用网易邮箱 -->
    <!-- 注意:这里的参数(如用户名、密码)都是针对邮件发送者的 -->
    <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>linsfile@163.com</value>
        </property>
        <property name="password">
            <value>xxxxxxxxxx</value>
        </property>
    </bean>



把org.springframework.mail.javamail.JavaMailSenderImpl注入其他bean并且调用以下方法:
/**
     * Spring 代理 Javamail 发送邮件
     * @param email
     * @throws MessagingException
     */
    private void sendMail(String email) throws MessagingException {  
 
          JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();  
 
          MimeMessage mailMessage = senderImpl.createMimeMessage();  
 
           //设置utf-8或GBK编码,否则邮件会有乱码  
 
          MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true,"utf-8");  
 
         try {  
 
           messageHelper.setTo(email);//接受者     
 
           messageHelper.setFrom("linsfile@163.com");//发送者  
 
           messageHelper.setSubject("欢迎加入 JAVAEYE™ 社区");//主题  
 
           //邮件内容,注意加参数true,表示启用html格式 
            
           String emailContent = "<html><head></head><body><h1>您已经注册!!</h1>"
                       + "<h2>点击以下超链接激活账户以完成注册</h2><a href='http://localhost:8080/JavaEye/register_active?id="+user.getId()+"'>点击该超链接激活您的账户</a><br/>"
                               + "<span>温馨提示:请勿回复本邮件</span></body></html>";
 
           messageHelper.setText(emailContent,true);  
 
           sender.send(mailMessage);  
            
           /**
            * 获取邮箱类型
            */
           String emailType = user.getEmail().substring(user.getEmail().indexOf("@") + 1, user.getEmail().indexOf("."));
            
           ActionContext actionContext = ActionContext.getContext();
            
           Map<String, Object> session = actionContext.getSession();
            
           session.put("emailType", emailType);
            
          } catch (Exception e) {  
 
           e.printStackTrace();  
 
          }  
    }
分享到:
评论

相关推荐

    spring JavaMailSenderImpl 发送邮件 java

    其中,Spring的JavaMailSenderImpl是用于发送电子邮件的一个重要工具,它使得开发者能够方便地集成邮件服务到他们的应用中。下面将详细介绍这个知识点。 **1. Spring的JavaMailSender接口与JavaMailSenderImpl实现*...

    spring mail通过代理发送邮件

    标题中的“spring mail通过代理发送邮件”指的是使用Spring框架中的JavaMailSender接口和相关的支持类,通过设置代理服务器来发送电子邮件。在某些网络环境中,直接访问SMTP服务器可能会受到限制,这时就需要通过...

    Spring Boot整合邮件发送并保存历史发送邮箱

    Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...

    java发送邮件 spring发送邮件

    通过以上步骤,你就可以在Java应用中使用Spring发送邮件了。当然,实际的邮件发送可能更复杂,涉及HTML内容、附件、多部分消息等,可以使用`MimeMessage`和`MimeMessageHelper`类来构建复杂的邮件结构。例如,添加...

    java 发送邮件 spring发送邮件Mail

    Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java应用程序中发送邮件变得更加简单。让我们深入探讨这个主题。 首先,JavaMail API是Java用来处理邮件收发的...

    struts spring 实现简单的邮件发送

    邮件服务类中的方法可以接收邮件的发件人、收件人、主题和内容作为参数,然后调用JavaMailSender的send方法发送邮件。 3. **Struts2整合**:在Struts2的配置文件(struts.xml)中,定义一个Action类,该类会调用...

    spring发送邮件demo

    下面将详细介绍如何使用Spring发送邮件。 首先,我们需要在项目中引入Spring的邮件支持。这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件...

    Spring框架JavaMailSender发送邮件工具类详解

    Spring框架JavaMailSender发送邮件工具类是基于JavaMail API实现的,它使用JavaMailSenderImpl类来发送邮件。JavaMailSenderImpl类实现了MailSender和JavaMailSender接口,提供了邮件发送的基本功能。通过设置邮件...

    spring boot定时任务接收邮件并且存储附件的方法讲解

    在本文中,我们还学习了如何使用 Spring Boot 实现邮件服务器的连接和邮件的接收。我们使用 `Properties` 对象来配置邮件服务器的参数,然后使用 `Session` 对象来连接邮件服务器。接着,我们使用 `Store` 对象来...

    Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)

    在Spring Boot应用中,利用JavaMailSender发送邮件是一种常见的需求,Spring Boot的`spring-boot-starter-mail`模块为我们提供了方便的自动化配置。首先,我们需要在项目的`pom.xml`文件中引入这个依赖: ```xml ...

    spring各种邮件发送

    在"spring各种邮件发送"这个主题中,我们将探讨Spring框架如何帮助开发者实现电子邮件的发送。邮件服务在许多应用场景中都十分常见,例如用户注册确认、密码重置提醒等。 首先,Spring框架提供了`JavaMailSender`...

    spring整合quartz定时发送邮件

    在`SendSimplEmail`类中,创建了一个`SimpleEmail`实例,并设置了邮件的相关信息,包括发件人地址、字符集、发送日期、主题、SMTP服务器、认证信息以及HTML格式的内容。最后通过`send()`方法发送邮件。 **Quartz ...

    Java基于JDK1.6基础上Spring2.5.6版本上发送邮件功能需要的依赖lib.zip

    - 在Spring的配置文件(如`applicationContext.xml`)中,你需要创建一个`JavaMailSenderImpl`的bean,并设置属性如`host`(SMTP服务器地址)、`port`(SMTP服务器端口)、`username`(发件人邮箱)、`password`...

    spring发送邮件所需jar包

    总结来说,Spring发送邮件需要`spring-context`、`spring-context-support`、`java-mail`、`javax.activation`这些核心库,以及可能需要的测试库`junit`。理解和掌握这些库的作用及如何配置它们,对于实现Spring中的...

    Spring mvc 发送邮件功能

    在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...

    spring+velocity发送邮件

    根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...

Global site tag (gtag.js) - Google Analytics