打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
javamail 一些资源..
看到几位朋友对这挺感兴趣的,整理点资料放在这里共享一下.

老本家
http://java.sun.com/products/javamail/index.jsp

developerworks 的教程 JavaMail API 基础
https://www6.software.ibm.com/developerworks/cn/education/java/j-javamail/tutorial/index.html
本地下载

JavaMail FAQ: 好东西
http://java.sun.com/products/javamail/FAQ.html


无中文困挠的使用JavaMail收取邮件
http://www.javayou.com/showlog.jspe?log_id=372

使用JavaMail的邮件发送组件
http://www.javayou.com/showlog.jspe?log_id=136


最后一个就是简化了javamail开发的。
Jakarta Commons Emails

---------------------------------------------------------------------------------
以前写的一篇介绍:
《简化JavaMail:小巧 Jakarta Commons-Email 简单教程

顺便再整理一下,朋友讨论的关于一些jakarta commons email出现乱码的问题:

一:通过SimpleEmail发送中文内容出现乱码的问题
SimpleEmail的代码如下
 1
public class SimpleEmail extends Email 
{
 2
    
/**
 3
     * Set the content of the mail
 4
     *
 5
     * 
@param
 msg A String.
 6
     * 
@return
 An Email.
 7
     * 
@throws
 EmailException see javax.mail.internet.MimeBodyPart
 8
     *                        for definitions
 9
     * 
@since
 1.0
10
     
*/

11
    
public Email setMsg(String msg) throws EmailException 
{
12
        
if (EmailUtils.isEmpty(msg)) 
{
13
            
throw new EmailException("Invalid message supplied"
);
14
        }

15
        setContent(msg, Email.TEXT_PLAIN);
16
        
return this
;
17
    }

18
}

只是采用默认的,

1
public static final String TEXT_PLAIN = "text/plain";

并没有指定编码。

如果通过SimpleEmail发送,需要指定编码:
Water Ye@ITO 的说明
 
1
email.setContent("测试邮件""text/plain;charset=GBK"); 

二:关于附件中文名称乱码的问题:

需使用MimeUtility

原因是在MIME的相应规范中(RFC2047等)说明了附件标题必须是US-ASCII字符, 所以在发送中文标题的附件时需要编码成US-ASCII字符, 有两种编码方式: B (BASE64), Q (Quoted-Printable), 这些方法在MimeUtility里
都已经做了封装, 所以在发送附件时使用如下:

1
MimeUtility.encodeText(filename));


 1
        EmailAttachment attachment = new
 EmailAttachment();
 2
        attachment.setPath(
"c:\\测试.txt"
);
 3
        attachment.setDisposition(EmailAttachment.ATTACHMENT);
 4
        attachment.setDescription(
"测试文件"
);
 5
        

 6           //

 7
        attachment.setName(MimeUtility.encodeText("测试文件.txt"));
 8

 9
         MultiPartEmail email 
= new
 MultiPartEmail();
10
        email.setHostName(
"192.168.0.3"
);
11
        email.setAuthentication(
"martin.xus""1234"
);
12
        email.addTo(
"martin.xus@192.168.0.3""martin"
);
13
        email.setFrom(
"martin.xus@192.168.0.3""martin"
);
14

15
        email.setSubject(
"测试带附件"
);
16
        email.setMsg(
"该邮件含附件"
);
17
        
//添加附件

18
        email.attach(attachment);
19
        
//发送邮件

20
        email.send();


end
---------------------------------------------------------------------------------

我想这些资源已经足够 o_o

你还想知道什么:)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
SimpleEmail
简化JavaMail:小巧 Jakarta Commons-Email 简单教程
SSM框架+Javamail发送邮件
程序员浪漫:10行Java代码实现email代码表白感恩节必备
Apache Jakarta Commons 工具集简介
编写更少量的代码:使用apache commons工具类库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服