`
chouyang
  • 浏览: 2321 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring发送邮件(HTML格式且有附件情况)

阅读更多
其实这个方式和上篇文章《spring发送邮件(无附件情况)》差不多。这里把主要代码粘贴出来,如果有Spring的开发经验,相信大家一看就明白。

1 BaseMailSender.java

/**
*
*/
package gov.emergency.emercore.persistencedb.test.mail;

import org.springframework.mail.javamail.JavaMailSender;

/**
* @author liuzhy
*
*/
public abstract class BaseMailSender {
protected String to;
protected String from;
protected String subject;
protected JavaMailSender sender;
public void setFrom(String from) {
    this.from = from;
}
public void setSender(JavaMailSender sender) {
    this.sender = sender;
}
public void setSubject(String subject) {
    this.subject = subject;
}
public void setTo(String to) {
    this.to = to;
}

}


2 SimpleHtmlMailSender.java

package gov.emergency.emercore.persistencedb.test.mail;

import java.io.File;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.MimeMessageHelper;

public class SimpleHtmlMailSender extends BaseMailSender{
public void sendMessage() throws MessagingException{
    MimeMessage msg = sender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(msg, true, "GB2312");
    helper.setTo(to);
    helper.setFrom(from);
    helper.setSubject(subject);
  helper.setText("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"></head><body><h1><a href='#'>郁闷!"
    + "</a></h1></body></html>", true); //HTML邮件内容
 
  // 增加附件
FileSystemResource rarfile = new FileSystemResource(new File("c:/bbb.jpg"));
    helper.addAttachment("bb.jpg", rarfile);
 
  sender.send(msg);
 
}
}


3 MailTest.java

package gov.emergency.emercore.persistencedb.test.mail;

import javax.mail.MessagingException;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MailTest {
public static void main(String[] args) throws MessagingException{ 
    ApplicationContext ctx = new ClassPathXmlApplicationContext("gov/emergency/emercore/persistencedb/test/mail/mail_attach.xml");
    SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx.getBean("testMailSender");
    sender.sendMessage();
}
 
}


4 mail_attach.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
<beans>
<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>
    </props>
</property>
<property name="username">
<value>邮箱用户名</value>
</property>
<property name="password">
<value>邮箱密码</value>
</property>
</bean>

<!-- 测试发送的类 -->
<bean id="testMailSender" class="gov.emergency.emercore.persistencedb.test.mail.SimpleHtmlMailSender">
<property name="sender">
<ref bean="mailSender"/>
</property>
<property name="to">
<value>zhaoyang66@gmail.com</value>
</property>
<property name="from">
<value>liuzhaoyang66@163.com</value>
</property>
<property name="subject">
<value>Html Mail</value>
</property>
</bean>
</beans>

分享到:
评论

相关推荐

    java 发送邮件 spring发送邮件Mail

    综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以满足各种业务场景下的邮件需求。在实际项目中,根据具体的邮件服务提供商和业务需求,可能会有更多细节需要考虑和...

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

    3、Spring Boot 发送邮件(文本格式的邮件、发送HTML格式的邮件、发送带附件 的邮件、发送带静态资源的邮件) 个人觉得Springboot的开发简单的归纳为三步jar包引入,配置,应用。 (一)简单使用 1)JSP的使用...

    java发送邮件 spring发送邮件

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

    Spring实现各种邮件的发送

    总的来说,Spring通过`MailSender`和`JavaMailSender`接口,以及相关的辅助类,提供了灵活且强大的邮件发送功能,能够满足开发中的多种邮件需求,无论是简单的文本邮件还是包含HTML内容和附件的复杂邮件,都能轻松...

    使用Spring Boot 开发支持多附件邮件发送微服务平台代码

    在Spring Boot应用中,你可以创建一个`MailService`接口和其实现类,使用`JavaMailSender`接口来发送邮件。以下是一个简单的示例: ```java @Service public class MailServiceImpl implements MailService { @...

    spring发送邮件demo

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

    Spring2.0邮件的发送 附件 图片 HTML格式

    在Spring 2.0版本中,它引入了对发送邮件的支持,这使得开发者能够轻松地实现邮件服务,包括发送带有附件、图片以及HTML格式的邮件。下面将详细介绍这个功能及其相关知识点。 1. **Spring Mail支持**: - Spring...

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

    在Spring Boot应用中,发送邮件是一项常见的功能,用于与用户通信、发送通知或者提供服务。本教程将详细讲解如何利用Spring Boot实现四种类型的邮件服务:发送普通文本邮件、HTML邮件、附件邮件以及嵌入图片的邮件。...

    spring各种邮件发送

    首先,Spring框架提供了`JavaMailSender`接口,它是发送邮件的核心接口。通过实现这个接口,我们可以配置SMTP服务器的相关参数,如主机地址、端口、用户名、密码等,来设置邮件发送的环境。`JavaMailSender`提供了...

    struts2+spring3.0+mybatis3.0.4集成的邮件发送实例(可上传附件)

    在这个实例中,我们可能有一个名为`SendMailAction`的类,该类中包含了发送邮件的相关逻辑。Struts2配置文件(`struts.xml`)需要进行相应的配置,以映射HTTP请求到这个Action。 Spring3.0则扮演了服务层的角色,它...

    Spring邮件发送

    有了配置后,我们就可以创建一个邮件服务类,利用`JavaMailSender`接口发送邮件。以下是一个简单的示例: ```java @Service public class EmailService { @Autowired private JavaMailSender emailSender; ...

    JAVA 发送HTML格式并带图片的邮件实例

    在Java编程中,发送带有HTML格式和图片的邮件是一项常见的任务,这通常涉及到电子邮件API的使用,例如JavaMail API。以下是对这个主题的详细讲解: 首先,JavaMail API是Java平台上的一个开源库,用于处理电子邮件...

    Spring邮件发送源码

    Spring提供了一套完整的邮件服务支持,通过其`org.springframework.mail`包,我们可以方便地实现发送各种类型的邮件,包括纯文本、HTML格式、带有附件以及嵌入图片的邮件。 首先,让我们来了解如何配置Spring邮件...

    Spring 高效批量邮件发送

    它提供了send()方法,可以用来发送简单的文本邮件或者带有附件的复杂邮件。为了实现批量邮件发送,我们需要创建一个邮件服务类,该类将利用MailSender接口,并通过适当的方式管理邮件的队列和发送过程。 批量邮件...

    用spring发送邮件

    本教程将详细讲解如何使用Spring发送邮件,以及在遇到问题时如何排查。 首先,我们需要在Spring项目中引入邮件服务相关的依赖。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;org.spring...

    Spring发送邮件

    接下来,我们创建一个Java类来发送邮件。这里我们使用Spring的`SimpleMailMessage`或者自定义一个`MimeMessage`实例。以下是一个使用`SimpleMailMessage`的示例: ```java import org.springframework.beans....

    spring定时发送邮件

    这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 首先,让我们深入了解一下Spring Task。Spring Task,也被称为Spring的调度器,提供了一种在应用中添加定时...

    使用springMail发送带附件的email

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

    java发送邮件示例源码,支持html格式邮件

    java发送邮件示例源码,支持html格式邮件,接收人,邮件主题,邮件内容,附件路径 #邮件 spring.mail.default-encoding=utf-8 # 配置SMTP服务器地址 spring.mail.host=smtp.qq.com #发送方邮件名 spring.mail....

    Spring mail 使用多个账号发送带有附件的HTML邮件

    总结,使用Spring Mail发送带有附件的HTML邮件是一项常见的任务,特别是当需要支持多个账号时,需要精心设计和配置。通过理解Spring Mail的工作原理和JavaMail API,开发者可以有效地实现代理邮件发送,并确保邮件的...

Global site tag (gtag.js) - Google Analytics