- 浏览: 583820 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- JBPM (3)
- WWF (0)
- JavaScript (11)
- J2EE (40)
- OperationSystem (11)
- 数据库 (12)
- CSS (1)
- Ajax (2)
- J2SE (30)
- Tools (10)
- 服务器中间件 (3)
- 异常 (0)
- Flex (5)
- jQuery (11)
- html (9)
- Ejb (1)
- HTML5 Shiv–让该死的IE系列支持HTML5吧 (1)
- Spring (9)
- Quartz (3)
- log4j (1)
- maven (1)
- cpdetector (1)
- JSON (1)
- log4jdbc (1)
- asm (8)
- FusionCharts (1)
- jqplot (1)
- highcharts (1)
- excanvas (1)
- html5 (1)
- jpcap介绍 (1)
- weblogic (3)
- URLURLClassLoader (0)
- URLClassLoader (1)
- ant (2)
- ivy (2)
- nexus (1)
- IT (0)
- LoadRunner (1)
- SCSS (1)
- ruby (1)
- webstorm (1)
- typescript (1)
- Jboss7 (1)
- wildfly (1)
- oracle (5)
- esb (0)
- dubbo (2)
- zookeeper (3)
- eclipse (1)
- Android (2)
- Studio (1)
- Google (1)
- 微信 (1)
- 企业号 (1)
- Linux (13)
- Oracle12c (1)
- Hadoop (1)
- InletexEMC (1)
- Windows (1)
- Netty (3)
- Marshalling (2)
- Protobuf (1)
- gcc (1)
- Git (1)
- GitLab (1)
- shell (2)
- java (3)
- Spring4 (1)
- hibernate4 (1)
- postgresql (1)
- ApacheServer (2)
- Tomcat (2)
- ApacheHttpServer (2)
- realvnc (1)
- redhat (7)
- vncviewer (1)
- LVS (4)
- LVS-DR (1)
- RedHat6.5 (5)
- LVS-NAT (1)
- LVS-IPTUNNEL (2)
- LVS-TUN (1)
- keepalived (2)
- yum (1)
- iso (1)
- VMware (1)
- redhat5 (1)
- ha (1)
- nginx (2)
- proguard (1)
- Mat (1)
- DTFJ (1)
- axis2 (1)
- web service (1)
- centos (1)
- random (1)
- urandom (1)
- apache (1)
- IBM (1)
- cve (1)
- 漏洞 (1)
- JDBC (1)
- DataSource (1)
- jdk (1)
- tuxedo (2)
- wtc (1)
最新评论
-
skying007:
好资料,谢谢分享给啊
FusionCharts在服务器端导出图片(J2EE版) -
cgnnzg:
大神好 可以发一份源码给我学习么 多谢了 978241085 ...
springmvc+dubbo+zookeeper -
jifengjianhao:
求源码:854606899@qq.com
springmvc+dubbo+zookeeper -
wdloyeu:
shihuan8@163.com邮箱网盘在哪,没找到。能给份源 ...
Java Socket长连接示例代码 -
huangshangyuanji:
求代码:45613032@qq.com
springmvc+dubbo+zookeeper
要先申请一个网易的126邮箱和一个新浪的com邮箱。
以下程序需要3个jar包的支持:
javax.mail-1.5.1.jar
activation-1.1.1.jar
org.springframework.context.support-3.x.x.RELEASE.jar
applicationContext.xml中的代码如下:
TestJavaMailSend.java代码如下:
上面的TestJavaMailSend.java是笔者做测试用的,下面笔者对测试的代码进行了封装:
以下程序需要3个jar包的支持:
javax.mail-1.5.1.jar
activation-1.1.1.jar
org.springframework.context.support-3.x.x.RELEASE.jar
applicationContext.xml中的代码如下:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>smtp.126.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>testmyname</value> </property> <property name="password"> <value>xxxxxx</value> </property> </bean>
TestJavaMailSend.java代码如下:
import java.io.File; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessagePreparator; public class TestJavaMailSend { public static void main(String[] args) throws MessagingException { ApplicationContext ctx = new FileSystemXmlApplicationContext("src-resources/applicationContext.xml"); JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender"); TestJavaMailSend javaMailSend = new TestJavaMailSend(); //测试发送只有文本信息的简单测试 javaMailSend.sendTextMail(sender); //测试发送HTML内容的邮件 javaMailSend.sendHtmlMail(sender); //测试发送带附件的邮件 javaMailSend.sendMimeMessage(sender); } /** * 测试发送只有文本信息的简单测试 * @param sender 邮件发送器 * @throws Exception */ private void sendTextMail(JavaMailSender sender) { SimpleMailMessage mail = new SimpleMailMessage(); mail.setTo("testmy@sina.com"); mail.setFrom("testmy@126.com"); mail.setSubject("我是中文邮件主题!"); mail.setText("spring Mail的简单!@#$%$%^%&^^%&*()\":|}OIYUDS~~<>?\":DFGSDSD测试"); sender.send(mail); System.out.println("成功发送文本邮件!"); } /** * 测试发送HTML内容的邮件 * @param sender 邮件发送器 * @throws MessagingException * @throws Exception */ private void sendHtmlMail(JavaMailSender sender) throws MessagingException { MimeMessage msg = sender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(msg, true, "UTF-8"); message.setFrom("testmy@126.com"); message.setSubject("我是中文HTML邮件主题"); message.setTo("testmy@sina.com"); //这个地方传入数组可以发送给多人 //message.setCc("testmycc@sina.com"); //抄送地址,传入数组也可以抄送多人 String htmlContent = "<html><head><title>htmlttt</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table border=\"1\"><tr><td>第一列</td><td>第二列</td></tr><tr><td colspan=\"2\"><img src=\"cid:shihuantp\"></td></tr></table></body></html>"; message.setText(htmlContent, true); //如果发的不是html内容去掉true参数 // add the image (图片会嵌入到邮件里显示出来) FileSystemResource image = new FileSystemResource(new File("H:/我的像册/摇大旗.JPG")); message.addInline("shihuantp", image); //这里的shihuantp一定要跟<img src=\"cid:shihuantp\">中cid后面的值一样 sender.send(msg); System.out.println("成功发送Html邮件!"); } /** * 发送带附件的邮件 * @param sender 邮件发送器 * @throws Exception */ private void sendMimeMessage(final JavaMailSender sender) { //附件文件集合 final List files = new ArrayList(); MimeMessagePreparator mimeMail = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException, UnsupportedEncodingException { mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("testmy@sina.com")); mimeMessage.setFrom(new InternetAddress("testmy@126.com")); mimeMessage.setSubject("Spring发送带附件的邮件-修改了附件编码", "UTF-8"); Multipart mp = new MimeMultipart(); //向Multipart添加正文 MimeBodyPart content = new MimeBodyPart(); content.setText("内含spring邮件发送的例子,请查收!"); //向MimeMessage添加(Multipart代表正文) mp.addBodyPart(content); files.add("H:/myfiledirectpry/velocity-1.7.jar"); files.add("H:/myfiledirectpry/commons-email-1.3.2-bin.zip"); files.add("H:/myfiledirectpry/我的备忘录.xls"); //向Multipart添加附件 Iterator it = files.iterator(); while(it.hasNext()) { MimeBodyPart attachFile = new MimeBodyPart(); String filename = it.next().toString(); FileDataSource fds = new FileDataSource(filename); attachFile.setDataHandler(new DataHandler(fds)); attachFile.setFileName(MimeUtility.encodeWord(fds.getName())); mp.addBodyPart(attachFile); } files.clear(); //向Multipart添加MimeMessage mimeMessage.setContent(mp); mimeMessage.setSentDate(new Date()); } }; //发送带附件的邮件 sender.send(mimeMail); System.out.println("成功发送带附件邮件!"); } }
上面的TestJavaMailSend.java是笔者做测试用的,下面笔者对测试的代码进行了封装:
package com.shihuan.core.common.mail; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessagePreparator; public class SendEmail { protected static Logger logger = LoggerFactory.getLogger(SendEmail.class); /** * 功能: 发送只有文本信息的简单测试 * @param request HttpServletRequest对象 * @param fromSender 发送方地址 (例如: testshihuan@126.com) * @param toDestination 接收方地址 (例如: testshihuan@sina.com) * @param emailSubject 邮件主题 * @param emailContent 邮件正文 (例如: "你好!I am Student!") */ public static void sendTextMail(HttpServletRequest request, String fromSender, String toDestination, String emailSubject, String emailContent) { ApplicationContext ctx = (ApplicationContext) request.getSession().getServletContext().getAttribute("ac"); JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender"); SimpleMailMessage mail = new SimpleMailMessage(); mail.setFrom(fromSender); mail.setTo(toDestination); mail.setSubject(emailSubject); mail.setText(emailContent); sender.send(mail); logger.info("成功发送文本邮件!"); } /** * 功能: 发送HTML内容的邮件 * @param request HttpServletRequest对象 * @param fromSender 发送方地址 (例如: testshihuan@126.com) * @param toDestination 接收方地址 (例如: testshihuan@sina.com) * @param emailSubject 邮件主题 * @param emailContent 邮件正文 (例如: "<html><head><title>htmlttt</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table border=\"1\"><tr><td>第一列</td><td>第二列</td></tr><tr><td colspan=\"2\"><img src=\"cid:shihuantp\"></td></tr></table></body></html>") * @param imageMap 在邮件中预显示的图片 (例如: map.put("shihuantp", "E:/我的像册/摇大旗.JPG"); map.put("mtytp", "E:/我的像册/海豚馆.JPG");) * @throws MessagingException */ public static void sendHtmlMail(HttpServletRequest request, String fromSender, String toDestination, String emailSubject, String emailContent, Map<String, String> imageMap) throws MessagingException { ApplicationContext ctx = (ApplicationContext) request.getSession().getServletContext().getAttribute("ac"); JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender"); MimeMessage msg = sender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(msg, true, "UTF-8"); message.setFrom(fromSender); message.setTo(toDestination); message.setSubject(emailSubject); // String htmlContent = "<html><head><title>htmlttt</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /></head><body><table border=\"1\"><tr><td>第一列</td><td>第二列</td></tr><tr><td colspan=\"2\"><img src=\"cid:shihuantp\"></td></tr></table></body></html>"; message.setText(emailContent, true); //如果发的不是html内容去掉true参数 // add the image (图片会嵌入到邮件里显示出来) //FileSystemResource image = new FileSystemResource(new File("E:/我的像册/摇大旗.JPG")); //message.addInline("shihuantp", image); //这里的shihuantp一定要跟<img src=\"cid:shihuantp\">中cid后面的值一样 FileSystemResource image = null; Iterator iter = imageMap.keySet().iterator(); while (iter.hasNext()) { String key = (String)iter.next(); String value = imageMap.get(key); image = new FileSystemResource(new File(value)); message.addInline(key, image); } sender.send(msg); logger.info("成功发送Html邮件!"); } /** * 功能: 发送带附件的邮件 * @param request HttpServletRequest对象 * @param fromSender 发送方地址 (例如: testshihuan@126.com) * @param toDestination 接收方地址 (例如: testshihuan@sina.com) * @param emailSubject 邮件主题 * @param emailContent 邮件正文 (例如: "你好!I am Student!") * @param attachments 邮件附件的绝对路径 (例如: new String[]{"E:/myserver/velocity-1.7.jar", "E:/myserver/commons-email-1.3.2-bin.zip", "E:/myserver/我的备忘录.xls"}) */ public static void sendMimeMessage(HttpServletRequest request, final String fromSender, final String toDestination, final String emailSubject, final String emailContent, final String[] attachments) { ApplicationContext ctx = (ApplicationContext) request.getSession().getServletContext().getAttribute("ac"); JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender"); //附件文件集合 final List files = new ArrayList(); MimeMessagePreparator mimeMail = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException, UnsupportedEncodingException { mimeMessage.setFrom(new InternetAddress(fromSender)); mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toDestination)); mimeMessage.setSubject(emailSubject, "UTF-8"); Multipart mp = new MimeMultipart(); //向Multipart添加正文 MimeBodyPart content = new MimeBodyPart(); content.setText(emailContent); //向MimeMessage添加(Multipart代表正文) mp.addBodyPart(content); for (int i = 0; i < attachments.length; i++) { files.add(attachments[i]); } //向Multipart添加附件 Iterator it = files.iterator(); while(it.hasNext()) { MimeBodyPart attachFile = new MimeBodyPart(); String filename = it.next().toString(); FileDataSource fds = new FileDataSource(filename); attachFile.setDataHandler(new DataHandler(fds)); attachFile.setFileName(MimeUtility.encodeWord(fds.getName())); mp.addBodyPart(attachFile); } files.clear(); //向Multipart添加MimeMessage mimeMessage.setContent(mp); mimeMessage.setSentDate(new Date()); } }; //发送带附件的邮件 sender.send(mimeMail); logger.info("成功发送带附件邮件!"); } }
- 在Java中利用Spring发送邮件.rar (1.5 MB)
- 下载次数: 27
发表评论
-
Spring4Mvc整合Hibernate4框架示例
2016-02-05 11:52 1406今天用NetBeans8.1搭建了一套Spring4MVC+H ... -
Spring4配置properties文件的一点儿细节
2016-02-04 15:40 2809http://repo.spring.io/release/o ... -
JavaWeb发送信息到微信公众平台的企业号
2015-11-01 22:42 3809首先到微信公众平台申请微信企业号: https://qy.we ... -
springmvc+dubbo+zookeeper
2015-09-22 11:34 12043笔者这里使用的是apache- ... -
OracleAS10g安装配置与部署
2015-07-01 20:59 716先到Oracle官方下载OracleAS10的安装包,截图如下 ... -
java和spring使用weblogic数据源配置
2014-10-13 11:29 3047需要weblogic.jar和jrmpclient.jar ... -
一套基本的SpringMvc工程所需要的最基本jar包(pom.xml)
2014-08-19 16:38 1920附件里是pom.xml文件。 -
html的form表单提交得不到参数问题
2014-07-25 16:13 1868今天同事问我他的form表单按submit方式提交,在Java ... -
Spring3Mvc导出PDF的3种形式+导出excel的两种形式(exportAnimal.do)
2014-07-19 22:55 1149附件里SpringMvc导出PDF和Excel的示例代码。 ... -
Java利用中国网建SMS短信通平台发送手机短信
2014-04-26 21:55 2249JAVA发送手机短信,流传有几种方法: (1)使用webser ... -
cpdetector_1.0.10_binary下载
2014-03-26 20:53 1048附件里是cpdetector_1.0.10_binary.ra ... -
在Java代码中用Axis2调用DotNet语言的WebService程序
2014-02-19 15:19 2588package com.shihuan.ymail.com ... -
SpringMvc多语言配置
2014-01-14 16:01 14440applicationContext.xml文件中加入如下代码 ... -
log4j多级别多输出文件的配置
2013-07-22 21:28 1580以下代码需要log4j-1.2.17.jar的支持。 B ... -
mysql和Oracle在对clob和blob字段的处理
2012-08-25 18:50 30931一、MySQL与Oracle数据库如何处理Clob,Bl ... -
Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度
2012-08-05 12:54 2224附件里是笔者的源代码,相关的jar包在笔者的abcdef的16 ... -
Lucene案例
2012-06-10 15:15 2616IndexerMmseg4j.java代码如下: import ... -
Mina入门程序
2012-06-02 15:05 1154附件里是Mina的入门程序。 http://mina.apa ... -
让Hibernate的执行语句看见完整参数
2012-04-29 10:09 1049http://www.ibm.com/developerwor ... -
ant打包Web工程
2012-03-18 13:13 3507build.properties文件内容如下: project ...
相关推荐
Java发送电子邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输等场景中。这个话题主要涉及JavaMail API和JavaBeans Activation Framework (JAF)。JavaMail API是用于处理电子邮件的Java库,而JAF则...
在Java编程语言中,发送电子邮件是一项常见的任务,尤其在自动化通知、系统消息传递或客户服务场景中。本资源提供了关于使用Java发送电子邮件的源代码学习资料,让我们深入探讨这个主题。 首先,我们需要理解...
Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户验证等场景中。下面将详细解释如何使用Java来发送邮件,并提供相关的知识点。 首先,Java通过JavaMail API提供了发送邮件的功能。JavaMail ...
在Java编程语言中,发送电子邮件是一项常见的任务,尤其在自动化通知、系统日志报告或用户交互等场景下。本文将详细介绍如何使用Java实现电子邮件的发送功能,并基于提供的资源进行源码整理。 首先,我们需要理解...
在IT行业中,使用编程语言发送电子邮件是一项常见的任务,特别是在自动化脚本或系统集成中。Java作为广泛应用的编程语言,提供了多种方法来发送邮件,包括通过Outlook和Notes客户端。在这个场景下,我们将深入探讨...
在这个主题中,我们将深入探讨如何使用Java来发送电子邮件,以及涉及到的关键技术点。 首先,Java中用于发送邮件的主要API是JavaMail API,它是一个开源库,提供了一组接口和类,允许开发者通过SMTP(简单邮件传输...
在Java编程语言中,发送电子邮件是一项常见的任务,可以用于通知、数据传输或其他自动化流程。JavaMail API 是一个开源库,它提供了与邮件服务器交互的能力,实现了SMTP(简单邮件传输协议)、POP3(邮局协议)和...
Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...
本篇文章将深入探讨如何在Java Swing应用中实现截图并将其通过电子邮件发送的功能。 首先,我们需要了解Java Swing的基本组件和事件处理。`Robot`类是Java AWT库的一部分,可以用来模拟用户的键盘和鼠标操作,包括...
要用Java发送电子邮件,你需要引入以下两个JAR文件: - `javax.mail.jar`:包含JavaMail API的核心类。 - `javax.activation.jar`(或`activation.jar`):包含了数据处理和类型识别的类,是JavaMail API的必要...
在你提到的“java发送电子邮件jar包和实例”中,很可能包含的是JavaMail API的jar文件以及两个示例代码,帮助开发者理解如何使用API来发送邮件。 JavaMail API主要由以下组件组成: 1. javax.mail-api.jar:这是...
在Java开发中,发送邮件是一项常见的任务,尤其在企业级应用和服务中,它用于通知、确认订单、发送报告等。本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户...
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式向指定的电子邮箱地址发送信息。在Java中,我们通常会依赖一些特定的库或者jar包来实现这一功能。这里提到的两个jar包——`spring-context-...
JavaMail 是一个开源库,它提供了在Java应用程序中发送和接收电子邮件的能力。这个"java实现发送邮件jar文件"是JavaMail的一个实现,封装了SMTP(简单邮件传输协议)和其他相关协议,使得开发者能够轻松地集成邮件...
首先,我们需要理解JavaMail API,这是一个Java平台上的邮件处理库,它提供了发送和接收电子邮件的能力。JavaMail API 包含了多个接口和类,如`Session`、`Message`、`MimeMessage`、`Transport`等,它们是实现邮件...
首先,我们需要了解SMTP(Simple Mail Transfer Protocol),它是互联网上用于发送电子邮件的标准协议。JavaMail API是Java平台上的一个开源库,它提供了与SMTP服务器通信的接口,使我们能够在Java程序中实现邮件的...
接着,JavaMail API是Java标准库中的部分,用于处理电子邮件的发送。它支持SMTP、POP3等多种协议,可以实现发送文本、HTML甚至附件(如我们生成的Excel文件)的邮件。在配置好发件人、收件人、主题和正文后,通过...
java实现发送电子邮件源码,可以设置抄送、密送联系人;可以发送超级链接和多个附件