- 浏览: 149516 次
- 性别:
- 来自: 北京
文章分类
最新评论
MimeMessageHelper的基本用法
博客分类: Spring 发邮件
企业应用Spring邮件MimeMessageHelper
org.springframework.mail.javamail.MimeMessageHelper是处理JavaMail比较顺手的组件之一,可以让你摆脱繁复的JavaMail API
接口类:
Java代码 收藏代码
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;
}
实现类:
Java代码 收藏代码
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对象
Xml代码 收藏代码
<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对象
Xml代码 收藏代码
<bean id="orderManager" class="com.mail.sender.MimeHelper">
<property name="javaMailSender" ref="mailSender"/>
</bean>
测试一下,如果没错就说明成功了
发表评论
-
java关联mongodb结合jessite实现分页
2019-05-30 14:16 632@RequiresPermissions("me ... -
maven 在类路径或引导类路径中找不到程序包 java.lang
2019-03-11 13:37 1202查看https://blog.csdn.net/bao199 ... -
使用Gson将对象类转成Json对象时出现\u003d 、\u0027等情况的问题
2019-01-09 10:30 1725Gson gson = new GsonBuilder().d ... -
Logger 日志输出请使用 {}
2018-08-02 14:21 1088有的人写代码时,都习惯log日志直接用“+”号连接。这 ... -
Map转成JSON数据,根据key排序问题
2018-07-04 17:25 1951有时候我们根据前台页面显示的结构,去后台创建数据结构来方便查 ... -
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2018-07-04 17:23 937function updateRemark() { ... -
ajax返回map的值,同时在sucess返回时的显示
2018-07-04 17:20 1535代码: EventVo eventVo = eventSer ... -
【Java----List去重】
2018-07-02 14:17 892List<String> list = new A ... -
java实现定时任务的三种方法
2018-01-09 09:51 562/** * 普通thread * 这是最常见的,创建一个t ... -
使用JavaScript实现页面定时跳转并显示倒计时
2016-02-04 20:33 1719[size=medium]1.创建一个就简单的页面 <! ... -
如何使用Java执行cmd命令?
2015-12-22 10:46 2535用JAVA代码实现执行CMD命令的方法! Runtime rt ... -
判断第二个日期比第一个日期大
2015-12-22 10:41 1556如何用脚本判断用户输入的的字符串是下面的时间格式2004-1 ... -
jsp中的fn标签的使用
2015-11-27 15:48 8121,在jsp页面导入<%@ taglib prefix= ...
相关推荐
扩展内容中展示了两种使用`MimeMessageHelper`的测试方法,`mimeMailTest()`方法在创建助手时就指定了编码为UTF-8,而`mimeMailTest2()`方法则在设置邮件内容时才指定编码。这两种方法都可以有效避免乱码问题,关键...
6. **发送邮件**:最后,使用Transport类的send方法发送邮件。 ```java Transport.send(message); ``` 以上就是使用JavaMail发送带附件的邮件的基本流程。需要注意的是,实际应用中可能需要处理更多复杂情况,...
如果需要发送包含附件的邮件,可以使用 `MimeMessageHelper` 的 `addAttachment()` 方法: ```java MimeMessageHelper helper = new MimeMessageHelper(message, true); // 添加附件 helper.addAttachment("example...
4. **发送邮件**: 使用SpringMail发送邮件主要包括两个步骤:创建`SimpleMailMessage`实例(用于设置收件人、主题、正文等基本信息)和调用`MailSender`的`send()`方法。如果要发送带有附件的邮件,我们需要使用`...
6. **添加附件**: 使用MimeMessageHelper的addAttachment()方法可以添加附件,需要提供附件的文件名和输入流。可以是本地文件,也可以是内存中的数据流。 7. **邮件内容设置**: 支持HTML格式的邮件,可以通过...
发送带有附件的邮件需要使用`MimeMessageHelper`的`addAttachment()`方法: ```java @Service public class MailService { @Autowired private JavaMailSender javaMailSender; public void ...
`JavaMailSender`定义了发送邮件的基本方法,而`JavaMailSenderImpl`是其实现,提供了实际的邮件发送功能。 要通过`JavaMailSenderImpl`发送邮件,首先需要在配置类中注入该实现,并配置相关的邮件服务器设置,如...
当需要在邮件中插入图片时,我们可以使用`MimeMessageHelper`的`addInline()`方法,指定图片ID和二进制内容。在HTML邮件中,通过引用这个ID,图片就能正确显示。例如,`<img src="cid:imageId" />`,其中`imageId`应...
要使用此功能,你需要在Spring的配置文件中设置`JavaMailSender`的实现,通常我们会使用`SimpleMailMessage`类来定义邮件的基本属性,如发件人、收件人、主题和正文。 在配置文件(例如applicationContext.xml)中...
至此,你已经掌握了Spring Boot中使用JavaMailSender发送邮件的基本步骤。在实际项目中,你可以根据需求封装更复杂的邮件服务,如模板邮件、批量发送等功能。通过这种方式,Spring Boot简化了邮件发送的实现,使得...
发送带附件的邮件同样使用`MimeMessageHelper`,它提供了方便的方法来添加附件。例如: ```java @Autowired private JavaMailSender javaMailSender; public void sendEmailWithAttachment(String to, String ...
在Java代码中,我们可以创建一个邮件服务类,注入JavaMailSender实例,并定义一个方法来发送邮件: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail....
3. **附件邮件**:若需发送带有附件的邮件,可以使用`MimeMessageHelper`。它允许我们在邮件中添加多个附件: ```java @Service public class MailService { public void sendEmailWithAttachment(String to, ...
- 需要在`MimeMessageHelper`中使用`addInline`方法添加内嵌资源。 #### 四、扩展知识点 - **邮件模板**:在实际应用中,经常需要发送结构相似但具体内容不同的邮件,此时可以使用模板引擎(如Freemarker)来动态...
以上就是JavaMail与Spring结合的基本用法。通过这种方式,开发者可以方便地在Spring应用中集成邮件服务,无需关心底层的SMTP通信细节,从而更加专注于业务逻辑。在实际项目中,还可以根据需求进行更高级的定制,比如...
以上代码中,`sendEmail`方法接收收件人邮箱地址、邮件主题和正文作为参数,然后使用`SimpleMailMessage`对象设置这些属性。最后,调用`javaMailSender.send()`方法发送邮件。 如果你需要发送带有附件或者HTML内容...
`sendEmailWithFreeMarker`和`sendEmailWithVelocity`方法展示了如何使用这两种模板引擎来生成邮件内容并发送。 总结来说,Spring结合FreeMarker或Velocity模板引擎可以方便地实现动态生成邮件内容,提供了一种灵活...
Spring框架的`JavaMailSender`接口提供了发送邮件的基本方法。创建一个`EmailService`类,并注入`JavaMailSender`: ```java @Service public class EmailService { private final JavaMailSender javaMailSender...