- 浏览: 574242 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1361今天用NetBeans8.1搭建了一套Spring4MVC+H ... -
Spring4配置properties文件的一点儿细节
2016-02-04 15:40 2759http://repo.spring.io/release/o ... -
JavaWeb发送信息到微信公众平台的企业号
2015-11-01 22:42 3761首先到微信公众平台申请微信企业号: https://qy.we ... -
springmvc+dubbo+zookeeper
2015-09-22 11:34 11922笔者这里使用的是apache- ... -
OracleAS10g安装配置与部署
2015-07-01 20:59 663先到Oracle官方下载OracleAS10的安装包,截图如下 ... -
java和spring使用weblogic数据源配置
2014-10-13 11:29 2948需要weblogic.jar和jrmpclient.jar ... -
一套基本的SpringMvc工程所需要的最基本jar包(pom.xml)
2014-08-19 16:38 1879附件里是pom.xml文件。 -
html的form表单提交得不到参数问题
2014-07-25 16:13 1803今天同事问我他的form表单按submit方式提交,在Java ... -
Spring3Mvc导出PDF的3种形式+导出excel的两种形式(exportAnimal.do)
2014-07-19 22:55 1086附件里SpringMvc导出PDF和Excel的示例代码。 ... -
Java利用中国网建SMS短信通平台发送手机短信
2014-04-26 21:55 2198JAVA发送手机短信,流传有几种方法: (1)使用webser ... -
cpdetector_1.0.10_binary下载
2014-03-26 20:53 991附件里是cpdetector_1.0.10_binary.ra ... -
在Java代码中用Axis2调用DotNet语言的WebService程序
2014-02-19 15:19 2526package com.shihuan.ymail.com ... -
SpringMvc多语言配置
2014-01-14 16:01 14378applicationContext.xml文件中加入如下代码 ... -
log4j多级别多输出文件的配置
2013-07-22 21:28 1532以下代码需要log4j-1.2.17.jar的支持。 B ... -
mysql和Oracle在对clob和blob字段的处理
2012-08-25 18:50 30847一、MySQL与Oracle数据库如何处理Clob,Bl ... -
Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度
2012-08-05 12:54 2182附件里是笔者的源代码,相关的jar包在笔者的abcdef的16 ... -
Lucene案例
2012-06-10 15:15 2573IndexerMmseg4j.java代码如下: import ... -
Mina入门程序
2012-06-02 15:05 1118附件里是Mina的入门程序。 http://mina.apa ... -
让Hibernate的执行语句看见完整参数
2012-04-29 10:09 1016http://www.ibm.com/developerwor ... -
ant打包Web工程
2012-03-18 13:13 3453build.properties文件内容如下: project ...
相关推荐
JAVA+发送电子邮件源代码学习
java发送电子邮件 ,里面包含了activation.jar和mail.jar两个包.通过里面的类的调用便可以达到发送电子邮件的目的.里面包含了发邮件的源码.
java发送电子邮件,程序和jar包都在里面,使用方法也有,程序可直接使用,直接改成自己的邮箱和密码就能发送了,解决了很多人java发送邮件不成功的烦恼
java swing截图发送电子邮件
javaMail实现java发送电子邮件代码
java 发送电子邮件java 发送电子邮件java 发送电子邮件java 发送电子邮件java 发送电子邮件java 发送电子邮件java 发送电子邮件java 发送电子邮件
电子邮件的应用非常广泛,常见的如在某网站注册了一个账户,自动发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等。...简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。
用java发送电子邮件的最简单实例,包括jar
java实现发送电子邮件源码,可以设置抄送、密送联系人;可以发送超级链接和多个附件
java开发的电子邮件收发应用程序。包括邮件的发送、阅读、和删除功能。当然还可以添加联系人,联系人是采用xml文档保存的。本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人...
JAVA+发送电子邮件源码整理
java发送电子邮件2个实例和相应的jar包,
mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送...
java发送邮件所需要的包,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API
通过JAVA发送电子邮件,简单易懂。一看就懂了,不懂请详询
哈哈!用java成功发送邮件,不使用jar包,没有乱码
java发送电子邮件所需jar包。。