`
zwm
  • 浏览: 280278 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Spring mail

阅读更多

[整合网络资源] 现在开始,用Spring发一封带有附件与网页的电子邮件:
首先加载Spring框架(略);
完善我们的applicationContext.xml文件,全文如下:

********************************************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/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>51server</value>
  </property>
  <property name="password">
   <value>密码</value>
  </property>
 </bean>
 <!-- 简单的message -->
 <bean id="mailMessage"
  class="org.springframework.mail.SimpleMailMessage">
  <property name="to">
   <value>51server@163.com</value>
  </property>
  <property name="from">
   <value>51server@163.com</value>
  </property>
  <property name="subject"><!-- Email 标题 -->
   <value>我爱亲爱的她</value>
  </property>
 </bean>
 <!-- 测试发送的类 -->
 <bean id="testMailSender" class="com.yourcompany.spring.mail.TestSenderMail">
  <property name="mailMessage">
   <ref bean="mailMessage" />
  </property>
  <property name="mailSender">
   <ref bean="mailSender" />
  </property>
 </bean>
</beans>

******************************************************************

接下来,建立一个SpringIOC管理的bean[TestSenderMail.java]

package com.yourcompany.spring.mail;

import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;

public class TestSenderMail {
 private MailSender mailSender;
   private SimpleMailMessage mailMessage;
  
   public TestSenderMail() {
    
   }
  
   public SimpleMailMessage getMailMessage() {
     return mailMessage;
   }
   public void setMailMessage(SimpleMailMessage mailMessage) {
     this.mailMessage = mailMessage;
   }
   public MailSender getMailSender() {
     return mailSender;
   }
   public void setMailSender(MailSender mailSender) {
     this.mailSender = mailSender;
   }
  
   public void sendMail() {
     SimpleMailMessage message = new SimpleMailMessage(mailMessage);
     //设置email内容,
     message.setText("测试Spring 发送Email.");    
     try {
       mailSender.send(message);
     } catch (MailException e) {
       e.printStackTrace();
     }
   }

}

 

**************************************

最后测试类

package com.yourcompany.spring.mail;

import junit.framework.TestCase;

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

public class Test extends TestCase {
 public void test0(){
  ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
  TestSenderMail ts=(TestSenderMail)context.getBean("testMailSender");
  ts.sendMail();
 }
}

 

下面提供一个与该文章主题吻合的程序,发送一封带有附件与网页的邮件;

package com.yourcompany.spring.mail;

import java.io.File;
import java.util.Properties;

import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;

import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class TestAttachedFile {
 public static void main(String[] args) throws Exception {
  JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

  // 设定 Mail Server
  senderImpl.setHost("smtp.163.com");

  // SMTP验证时,需要用户名和密码
  senderImpl.setUsername("51server");
  senderImpl.setPassword("密码 ");
  // 不设这个是不能用用户名密码通过验证发的
  Properties prop = new Properties();
  prop.setProperty("mail.smtp.auth", "true");
  senderImpl.setJavaMailProperties(prop);
  // 建立邮件讯息
  MimeMessage mailMessage = senderImpl.createMimeMessage();
  MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
    true, "GBK");
  // 设定收件人、寄件人、主题与内文
  messageHelper.setTo("51server@163.com");
  messageHelper.setFrom("51server@163.com");
  messageHelper.setSubject("技术之旅(zh):SpringMail+AttachFile.toU");
  messageHelper.setText("<html><head></head><body><h1>你的春天到了吗?"
    + "</h1></body></html>", true);
  // 发附件,这里附件可以多个,只要再NEW一个FILE,再ADD一次,即可
  File file = new File("e:/we.jpg");
  messageHelper.addAttachment(MimeUtility.encodeWord(file.getName()),
    file);
  // 传送邮件
  senderImpl.send(mailMessage);
 }

}

分享到:
评论
5 楼 bxxyzj 2009-02-11  
在网页在打开是同样的问题
4 楼 bxxyzj 2009-02-11  
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

  // 设定 Mail Server
  senderImpl.setHost("mail.eastcom-sw.com");

  // SMTP验证时,需要用户名和密码
  senderImpl.setUsername("aaa");
  senderImpl.setPassword("bbb");
  // 不设这个是不能用用户名密码通过验证发的
  Properties prop = new Properties();
  prop.setProperty("mail.smtp.host", "true");
  senderImpl.setJavaMailProperties(prop);
  // 建立邮件讯息
  MimeMessage mailMessage = senderImpl.createMimeMessage();
  MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
    true, "UTF-8");
  // 设定收件人、寄件人、主题与内文
  messageHelper.setTo("zhoujia@eastcom-sw.com");
  messageHelper.setFrom("zhoujia@eastcom-sw.com");
  messageHelper.setSubject("故障信息报告");
  messageHelper.setText("<html><head></head><body><h1>消息接收,请您查阅附件"
    + "</h1></body></html>", true);
  // 发附件   File files = new File(path+"\\"+"信息报送"+"_"+date+".xls");
  System.out.println("name="+files.getName());

  messageHelper.addAttachment(MimeUtility.encodeWord(files.getName()),
    files);
  // 传送邮件
  senderImpl.send(mailMessage);
3 楼 bxxyzj 2009-02-11  
没有解决啊,找了一天的原因 。 急得很啊。。。   
2 楼 zwm 2009-02-10  
收件人为空,主题为空。----暂时不能解释,是否与FOXMAIL自身有关,尝试使用一下WEB 客户端登录,如网易
内容一堆乱码。-----考虑一下,TOMCAT字符集过滤,设置编码。


继续讨论。
1 楼 bxxyzj 2009-02-10  
下面那个javamail发送的例子,为什么MAIN方法测试是通过,但TOMACT启动后,调用该方法,确有一堆问题,在foxmail中收到的邮件 收件人为空,主题为空,内容一堆乱码,附件也看不到

相关推荐

    springMail

    SpringMail 是一个基于 Java 的库,它允许开发者在 Spring 框架中轻松地发送电子邮件。这个库使得处理复杂的邮件任务变得简单,包括发送带有正文、附件以及多种内容类型的邮件。下面将详细介绍 SpringMail 的使用...

    spring mail

    Spring Mail 是一个在Java应用程序中发送电子邮件的库,它与流行的Spring框架紧密集成,使得邮件发送功能的实现变得更加简单和灵活。Spring Mail 提供了一种优雅的方式来配置和使用JavaMail API,而无需直接处理复杂...

    spring mail的使用

    Spring Mail是Spring框架的一部分,它提供了一种在Java应用程序中发送电子邮件的能力。通过Spring的抽象层,我们可以方便地集成各种邮件服务提供商,如Gmail、Yahoo等,而无需直接处理复杂的JavaMail API。本篇文章...

    springmail架包

    SpringMail 是一个基于 Java 的库,它为使用 JavaMail API 发送电子邮件提供了便捷的抽象层。这个框架使得在 Spring 应用程序中集成邮件服务变得简单。本文将深入探讨 SpringMail 的核心概念、配置以及如何在实际...

    spring mail 发送html

    在IT行业中,Spring框架是一个广泛使用的Java应用开发框架,它提供了丰富的功能,包括Spring Mail模块,用于发送电子邮件。本文将详细讲解如何利用Spring Mail发送HTML格式的邮件,以及如何发送普通文本、附件和...

    spring mail通过代理发送邮件

    标题中的“spring mail通过代理发送邮件”涉及到的是Spring框架中处理电子邮件发送的功能,尤其是在网络环境有限制或需要通过代理服务器的情况下。Spring Mail是Spring Framework的一个扩展模块,它提供了与JavaMail...

    使用springMail发送带附件的email

    SpringMail是一个在Java应用中发送电子邮件的库,它利用了JavaMail API的简便性和灵活性。在本项目中,我们将深入探讨如何使用SpringMail发送带有附件的电子邮件。首先,我们需要了解几个核心概念: 1. **JavaMail ...

    利用 spring mail 通过 gmail(SSL) 发邮件

    Spring Mail是一个Java库,它简化了通过JavaMail API发送电子邮件的过程。本教程将详细讲解如何利用Spring Mail通过Gmail的SSL(安全套接层)协议来发送邮件。 首先,我们需要在项目中引入Spring Mail的依赖。如果...

    spring mail 实例

    Spring Mail是Spring框架的一个扩展,专门用于发送电子邮件。本实例将深入探讨如何在Spring应用中集成并使用Spring Mail进行邮件发送。 首先,我们需要理解Spring Mail的核心组件`JavaMailSender`,这是一个接口,...

    Spring mail发送邮件实例

    ### Spring Mail 发送邮件实例详解 #### 一、Spring Mail 概述 Spring Mail 是 Spring 框架中用于处理电子邮件发送的一个模块。它提供了一种简单的方式来进行邮件的发送,支持多种邮件发送协议,例如 SMTP 等,...

    spring mail 的发送

    在`springmail2`这个示例项目中,可能包含了一个简单的Spring Boot应用,演示了如何使用Spring Mail发送邮件。这个示例可能包括一个`Main`类,启动Spring Boot应用,并调用`MailService`发送一封测试邮件。代码可能...

    SpringMail发邮件

    SpringMail是Spring框架的一个扩展,它为Java应用提供了一个简单且强大的邮件发送功能。通过集成SpringMail,开发者可以轻松地在应用程序中实现电子邮件的发送,无论是普通的文本邮件、HTML格式的邮件,还是带有附件...

    spring mail 带附件

    Spring Mail 是一个强大的Java库,用于发送电子邮件,包括带有附件的功能。在Spring框架中,它通过集成JavaMailSender接口提供了一种简洁的方式来处理邮件服务。本文将深入探讨如何使用Spring Mail发送带有附件的...

    java mail,spring mail

    Java Mail和Spring Mail是Java开发中用于处理电子邮件的两个关键库。它们允许开发者在应用程序中实现发送、接收和处理电子邮件的功能。在这个实例中,我们主要关注如何使用Java Mail API和Spring Mail来实现实时的多...

    SpringMail

    **SpringMail 深度解析** SpringMail 是一个在 Java 应用中发送电子邮件的库,它是 Spring 框架的一个扩展,使得在基于 Spring 的应用程序中集成邮件服务变得非常简单。SpringMail 提供了一种方便的方式来配置和...

    Spring mail 发送邮件

    Spring Mail 是一个在Java应用程序中发送电子邮件的简单且强大的库,它是Spring框架的一部分。通过集成Spring Mail,开发者可以轻松地将邮件发送功能整合到他们的应用中。本篇将深入探讨如何使用Spring Mail发送邮件...

    springmail架包及各种邮件发送代码

    SpringMail 是一个基于Java的库,用于简化电子邮件的发送任务。它封装了JavaMail API,提供了更简洁的接口,使得开发者在Spring框架中发送邮件变得容易。本篇将深入探讨SpringMail的使用方法以及各种邮件的发送代码...

Global site tag (gtag.js) - Google Analytics