`

使用Spring 的封装的MailSender

阅读更多
  1. 使用Spring 的封装的MailSender,确实省事多了!
    但在使用中,还是得注意些问题

    1.增加验证,否则会报:553 authentication is required 的错误信息
    Properties prop = new Properties();
    prop.setProperty("mail.smtp.auth", "true");
    JavaMailSenderImpl.setJavaMailProperties(prop);

    2.当邮件内容是HTML语言时的中文问题:
    初始化MimeMessageHelper辅助类时,设置"GBK" encoding!
    如:
    MimeMessageHelper messageHelp = new MimeMessageHelper(message,true,"GBK");
    同时在设置:<META http-equiv=Content-Type content='text/html; charset=GBK'>
    如果都设置为"UTF-8",在某些邮件客户端标题是冷僻字时,不能正常显示!

    3.邮件附件的中文问题!
    spring的文档里面说MimeMessageHelper设置了encoding,同时对title,text,attach产生作用,但还是会出问题:
    解决方法:MimeUtility.encodeWord(file.getName()); 就OK了!

    以下是可以运行的代码
    SendMailDemo.java

    使用Spring 的封装的MailSender,确实省事多了!
    但在使用中,还是得注意些问题

    1.增加验证,否则会报:553 authentication is required 的错误信息
    Properties prop = new Properties();
    prop.setProperty("mail.smtp.auth", "true");
    JavaMailSenderImpl.setJavaMailProperties(prop);

    2.当邮件内容是HTML语言时的中文问题:
    初始化MimeMessageHelper辅助类时,设置"GBK" encoding!
    如:
    MimeMessageHelper messageHelp = new MimeMessageHelper(message,true,"GBK");
    同时在设置:<META http-equiv=Content-Type content='text/html; charset=GBK'>
    如果都设置为"UTF-8",在某些邮件客户端标题是冷僻字时,不能正常显示!

    3.邮件附件的中文问题!
    spring的文档里面说MimeMessageHelper设置了encoding,同时对title,text,attach产生作用,但还是会出问题:
    解决方法:MimeUtility.encodeWord(file.getName());就OK了!

    以下是可以运行的代码
    SendMailDemo.java

  2. import java.io.File;   
  3. import java.io.UnsupportedEncodingException;   
  4. import java.util.Properties;   
  5.   
  6. import javax.mail.MessagingException;   
  7. import javax.mail.internet.MimeMessage;   
  8. import javax.mail.internet.MimeUtility;   
  9.   
  10. import org.springframework.mail.javamail.JavaMailSenderImpl;   
  11. import org.springframework.mail.javamail.MimeMessageHelper;   
  12.   
  13. public class SendMailDemo {   
  14.     public  void send163ByMutil() throws MessagingException {   
  15.         JavaMailSenderImpl  javaMail  =  new  JavaMailSenderImpl();   
  16.         javaMail.setHost("smtp.163.com");   
  17.         javaMail.setPassword("passowrd");   
  18.         javaMail.setUsername("username");   
  19.         Properties  prop  =  new  Properties();   
  20.         prop.setProperty("mail.smtp.auth", "true");        
  21.         javaMail.setJavaMailProperties(prop);   
  22.         MimeMessage  message  =  javaMail .createMimeMessage();   
  23.         MimeMessageHelper  messageHelp  =  new  MimeMessageHelper(message,true,"GBK");   
  24.         messageHelp.setFrom("likun35@163.com");   
  25.         messageHelp.setTo("likun35@163.com");   
  26.         messageHelp.setSubject("邮件测试");   
  27.         // messageHelp   
  28.         String  body  =  "<html><head><META http- equiv=Content-Type content='text/html; charset=GBK'></HEAD>< title>test</title></head><body>dear 小燕子 \n " ;   
  29.         body+=" < red > This is Text! </ red >  pic  < img   src = 'cid:a' > </ img > < br > hello < img   src = 'cid:b' > </ img > </ body > </ html > ";   
  30.         messageHelp.setText(body, true);   
  31.         messageHelp.addInline("a", new File("E:/xiezi.jpg"));   
  32.         messageHelp.addInline("b", new File("E:/logo.png"));           
  33.         File  file = new  File("E:/Favorites中文文件.rar");        
  34.         try {   
  35.             messageHelp.addAttachment(MimeUtility.encodeWord(file.getName()), file);   
  36.         } catch (UnsupportedEncodingException e) {             
  37.             e.printStackTrace();   
  38.         }   
  39.         javaMail.send(message);   
  40.     }   
  41.     public static void main(String[] args) throws MessagingException {         
  42.         SendMail  send = new  SendMail();   
  43.         send.send163ByMutil();   
  44.   
  45.     }   
  46. }   
分享到:
评论

相关推荐

    spring各种邮件发送

    为了使用JavaMail中的一些特色, 比如MIME类型的信件, Spring提供了MailSender的一个子接口, 即org.springframework.mail.javamail.JavaMailSender。Spring还提供了一个回调接口org.springframework.mail.javamail....

    springmvc+maven.邮件发送,接收,及抄送。

    springmvc+spring+mybits+maven.邮件发送,接收,及抄送。

    mailSender_v1.0.jar (For Android platform)

    基于Android平台的Mail Sender. 代码示例: 1.普通邮件: ... import net.xfok.mail.sender.MailSender; …… private void testJMailSender(){ ... MailSender sender=new JMailSender...如使用有问题,请联系QQ:28185776

    Java Mail封装的Jar包

    封装了一个java mail的jar包,只需设置邮件的基本信息 就可发邮件: //这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost("smtp.163.com"); mailInfo....

    Persits.MailSender ASP MAIL

    Persits.MailSender ASP MAIL Persits.MailSender ASP MAIL

    MailSender C#

    MailSender C# 一个发送邮件的类

    开源框架 Spring Gossip

    简单邮件 HTML 邮件 内嵌图片或附档 排程 Spring则对 java.util.Timer提供了抽象封装,让您可以善用Spring的容器管理功能,而Spring对Quartz进行了封装,让它在使用上更加方便。 使用 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack ...19.2. 使用Spring JMS ...

    mailsender

    计算机网络实验代码 SMTP邮件发送 带身份验证信息

    Persits.MailSender发送邮件(ASPEmail组件)

    AspEmail是一个动态服务器组件。它可被应用在ASP或VB程序上,用来编写发送Email的程序。 AspEmail支持多收信人、多密送人、多抄送人、多附件,HTML... AspEmail、AspJpeg、AspUpload都是Persits Software家的产品。

    Persits.MailSender发送邮件(即ASPEmail组件)

    aspemail 4.1 是一个在asp或则vb环境中使用外部smtp服务器发送电子 邮件消息的活动服务组件。aspemail 4.1 支持多收件人,多cc, 多bcc,多附件,html格式, 内嵌图形 , 和非us ascii字符集设置. aspemail 4.1是一个完全...

    spring JavaMailSenderImpl 发送邮件 java

    通过spring类,发送邮件信息!包含相应的jar包,有实例

    利用JavaMail for Android和MailSender实现发送邮件

    利用JavaMail for Android和MailSender实现发送邮件

    mailSender:在python中使用smtplib发送邮件

    mailSender 在python中使用smtplib发送邮件emaillist.txt ====&gt;要发送的电子邮件列表。 您必须在文件中添加单词“ end”的最后一行html.txt ===&gt;正文电子邮件mailconfg.text ==&gt; help

    spring-email-master:使用spring4.3.4 发送邮件,三种方式:文本格式,HTML格式,velocity模版,Thymeleaf模版,使用模版以及策略设计模式实现同步和异步发送

    Spring Email抽象核心接口MailSender,其实现类JavaMailSenderImpl,在其中配置邮件 服务器host,pssword,协议等 。。。。。 1.发送简单的消息 SimpleMailMessage:发送简单的消息 2.发送丰富的消息(比如带有附件,内...

Global site tag (gtag.js) - Google Analytics