`
yingruochen
  • 浏览: 75581 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

MimeMessageHelper的基本用法

阅读更多

org.springframework.mail.javamail.MimeMessageHelper是处理JavaMail比较顺手的组件之一,可以让你摆脱繁复的JavaMail API

接口类:

package com.mail.service;

import javax.mail.MessagingException;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 12-6-12
 * Time: 下午3:37
 * To change this template use File | Settings | File Templates.
 */
public interface OrderManager {

    void placeOrder() throws MessagingException;
}

 实现类:

package com.mail.sender;

import com.mail.service.OrderManager;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.lang.management.MonitorInfo;

/** MimeMessageHelper的基本用法
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 12-6-13
 * Time: 上午11:19
 * To change this template use File | Settings | File Templates.
 */
public class MimeHelper implements OrderManager {

    private JavaMailSender javaMailSender;

    public void setJavaMailSender(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    public void placeOrder() {

        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message);

        try {
            helper.setTo("XXXXX@qq.com");//toXXX邮箱
            helper.setFrom("XXX@qq.com"); //from XXX邮箱
            helper.setSubject("helper");
            helper.setText("hello");
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }

    }
}

 配置:

注入JavamailSender对象

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.exmail.qq.com"/>
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="username" value="XXXX@qq.com"/>
        <property name="password" value="XXXX"/>
        <property name="javaMailProperties">
            <value>
                mail.smtp.auth=true
            </value>
        </property>
    </bean>

 注入MimeHelper对象

<bean id="orderManager" class="com.mail.sender.MimeHelper">
        <property name="javaMailSender" ref="mailSender"/>
    </bean>
 

测试一下,如果没错就说明成功了

 

分享到:
评论

相关推荐

    java邮件乱码的彻底解决方案

    扩展内容中展示了两种使用`MimeMessageHelper`的测试方法,`mimeMailTest()`方法在创建助手时就指定了编码为UTF-8,而`mimeMailTest2()`方法则在设置邮件内容时才指定编码。这两种方法都可以有效避免乱码问题,关键...

    JavaMail发送带附件的邮件

    6. **发送邮件**:最后,使用Transport类的send方法发送邮件。 ```java Transport.send(message); ``` 以上就是使用JavaMail发送带附件的邮件的基本流程。需要注意的是,实际应用中可能需要处理更多复杂情况,...

    SpringMail

    如果需要发送包含附件的邮件,可以使用 `MimeMessageHelper` 的 `addAttachment()` 方法: ```java MimeMessageHelper helper = new MimeMessageHelper(message, true); // 添加附件 helper.addAttachment("example...

    使用springMail发送带附件的email

    4. **发送邮件**: 使用SpringMail发送邮件主要包括两个步骤:创建`SimpleMailMessage`实例(用于设置收件人、主题、正文等基本信息)和调用`MailSender`的`send()`方法。如果要发送带有附件的邮件,我们需要使用`...

    java发送qq邮件 支持群发 附件等等

    6. **添加附件**: 使用MimeMessageHelper的addAttachment()方法可以添加附件,需要提供附件的文件名和输入流。可以是本地文件,也可以是内存中的数据流。 7. **邮件内容设置**: 支持HTML格式的邮件,可以通过...

    spring boot发送普通文本邮件/HTML邮件/附件邮件/图片邮件完整代码.zip

    发送带有附件的邮件需要使用`MimeMessageHelper`的`addAttachment()`方法: ```java @Service public class MailService { @Autowired private JavaMailSender javaMailSender; public void ...

    Spring Boot.pdf

    `JavaMailSender`定义了发送邮件的基本方法,而`JavaMailSenderImpl`是其实现,提供了实际的邮件发送功能。 要通过`JavaMailSenderImpl`发送邮件,首先需要在配置类中注入该实现,并配置相关的邮件服务器设置,如...

    Spring之Email<封装了常用的四种发送Email的方法(TEXT,HTML,IMG,FILE)>

    当需要在邮件中插入图片时,我们可以使用`MimeMessageHelper`的`addInline()`方法,指定图片ID和二进制内容。在HTML邮件中,通过引用这个ID,图片就能正确显示。例如,`&lt;img src="cid:imageId" /&gt;`,其中`imageId`应...

    使用Spring发送邮件

    要使用此功能,你需要在Spring的配置文件中设置`JavaMailSender`的实现,通常我们会使用`SimpleMailMessage`类来定义邮件的基本属性,如发件人、收件人、主题和正文。 在配置文件(例如applicationContext.xml)中...

    SpringBoot发送邮件代码

    至此,你已经掌握了Spring Boot中使用JavaMailSender发送邮件的基本步骤。在实际项目中,你可以根据需求封装更复杂的邮件服务,如模板邮件、批量发送等功能。通过这种方式,Spring Boot简化了邮件发送的实现,使得...

    java发送OutLook会议邮件

    最后,使用`Transport`类的`send`方法发送邮件。 ```java Transport.send(message); ``` 这就是用Java发送Outlook会议邮件的基本流程。在实际应用中,可能还需要处理异常、添加多个收件人、设置会话属性等细节。...

    springboot发送邮件

    发送带附件的邮件同样使用`MimeMessageHelper`,它提供了方便的方法来添加附件。例如: ```java @Autowired private JavaMailSender javaMailSender; public void sendEmailWithAttachment(String to, String ...

    基于java语言,springboot框架实现邮件发送.7z

    在Java代码中,我们可以创建一个邮件服务类,注入JavaMailSender实例,并定义一个方法来发送邮件: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail....

    springboot发送邮件完整demo

    3. **附件邮件**:若需发送带有附件的邮件,可以使用`MimeMessageHelper`。它允许我们在邮件中添加多个附件: ```java @Service public class MailService { public void sendEmailWithAttachment(String to, ...

    java发送电子邮件代码

    - 需要在`MimeMessageHelper`中使用`addInline`方法添加内嵌资源。 #### 四、扩展知识点 - **邮件模板**:在实际应用中,经常需要发送结构相似但具体内容不同的邮件,此时可以使用模板引擎(如Freemarker)来动态...

    javamail+spring

    以上就是JavaMail与Spring结合的基本用法。通过这种方式,开发者可以方便地在Spring应用中集成邮件服务,无需关心底层的SMTP通信细节,从而更加专注于业务逻辑。在实际项目中,还可以根据需求进行更高级的定制,比如...

    Spring邮件发送实例

    以上代码中,`sendEmail`方法接收收件人邮箱地址、邮件主题和正文作为参数,然后使用`SimpleMailMessage`对象设置这些属性。最后,调用`javaMailSender.send()`方法发送邮件。 如果你需要发送带有附件或者HTML内容...

    Spring中使用FreeMaker或Vilocity模板发送邮件

    `sendEmailWithFreeMarker`和`sendEmailWithVelocity`方法展示了如何使用这两种模板引擎来生成邮件内容并发送。 总结来说,Spring结合FreeMarker或Velocity模板引擎可以方便地实现动态生成邮件内容,提供了一种灵活...

Global site tag (gtag.js) - Google Analytics