职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 516|回复: 9

Java程序发邮件小例子

[复制链接]
hxy 发表于 2011-9-1 12:52 | 显示全部楼层 |阅读模式
  
今天试了一个Java写的发邮件小例子,需要的jar包有:

activation-1.1.jar,
commons-email-1.1.jar,
mail-1.4.jar 这三个

代码如下:


  
import org.apache.commons.mail.EmailException;   
import org.apache.commons.mail.SimpleEmail;   
  
public class TestSendMail {   
    public static void main(String[] args) {   
        SimpleEmail email = new SimpleEmail();   
        email.setTLS(true);      
        email.setHostName("smtp.163.com");   
        email.setAuthentication("sfeve@163.com", "******"); // 用户名和密码   
  
        try {   
            email.addTo("183614305@qq.com"); // 接收方   
            email.setFrom("sfeve@163.com"); // 发送方   
            email.setSubject("Java Mail Test"); // 标题   
            email.setCharset("GBK");   
            email.setMsg("Just a simple send test.中文"); // 内容   
            email.send();   
  
        } catch (EmailException e) {   
            e.printStackTrace();   
        }   
    }   
}  

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class TestSendMail {
        public static void main(String[] args) {
                SimpleEmail email = new SimpleEmail();
                email.setTLS(true);   
                email.setHostName("smtp.163.com");
                email.setAuthentication("sfeve@163.com", "******"); // 用户名和密码

                try {
                        email.addTo("183614305@qq.com"); // 接收方
                        email.setFrom("sfeve@163.com"); // 发送方
                        email.setSubject("Java Mail Test"); // 标题
                        email.setCharset("GBK");
                        email.setMsg("Just a simple send test.中文"); // 内容
                        email.send();

                } catch (EmailException e) {
                        e.printStackTrace();
                }
        }
}

一运行,提示错误。仔细检查代码,没有发现问题。。
上网查资料后发现,邮箱必须开启pop3/smtp服务。。把收发的两个邮箱都开通了后,发送成功。


jinchang 发表于 2011-9-1 12:53 | 显示全部楼层
不错,简单明了!

已经来了吗 发表于 2011-9-1 12:53 | 显示全部楼层
163重新开放了pop3/smtp,但是好象不支持QQ的pop3转发....
如果使用javamail的话,导入activation-1.1.jar和commons-mail.jar两个包即可

已经来了吗 发表于 2011-9-1 12:53 | 显示全部楼层
其实,有更新的版本,可以从他们的官方主页下载 :

JavaMail 1.4.3
http://www.oracle.com/technetwork/java/index-138643.html

JavaBeans Activation Framework 1.1.1
http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html

apache-commons-email
http://commons.apache.org/email/download_email.cgi

ksdal 发表于 2011-9-1 12:53 | 显示全部楼层
这个发送 好像用到web中就不可以了 也就是action 提交就不能用了

会玩就好 发表于 2011-9-1 12:53 | 显示全部楼层
例子挺好,也写过,最好,将在项目中使用的过程描述一下,比如Email内容的维护,客户是否接收邮件,在什么情况下发送邮件呀,结合实际项目讲下,更有趣。

走失的猫咪 发表于 2011-9-1 12:53 | 显示全部楼层
原来使用java发送e-mail这么简单啦  哎  apache就是强大

北大青鸟 发表于 2011-9-1 12:53 | 显示全部楼层
commons-email-1.1.jar,这个是干嘛用的。
另外JavaMail好几年都没有更新了,我感觉是不是每人维护了。

钰云 发表于 2011-9-1 12:54 | 显示全部楼层
glamey 写道
commons-email-1.1.jar,这个是干嘛用的。
另外JavaMail好几年都没有更新了,我感觉是不是每人维护了。

兄弟,该更新的时候才更新!另外。commons email是在javamail上做了封装,哥也干过这事:
http://blog.163.com/itworker@126/blog/static/133983220109173510198/


醉倚西风 发表于 2011-9-1 12:54 | 显示全部楼层
sfeve 写道

今天试了一个Java写的发邮件小例子,需要的jar包有:

activation-1.1.jar,
commons-email-1.1.jar,
mail-1.4.jar 这三个

代码如下:


  
import org.apache.commons.mail.EmailException;   
import org.apache.commons.mail.SimpleEmail;   
  
public class TestSendMail {   
    public static void main(String[] args) {   
        SimpleEmail email = new SimpleEmail();   
        email.setTLS(true);      
        email.setHostName("smtp.163.com");   
        email.setAuthentication("sfeve@163.com", "******"); // 用户名和密码   
  
        try {   
            email.addTo("183614305@qq.com"); // 接收方   
            email.setFrom("sfeve@163.com"); // 发送方   
            email.setSubject("Java Mail Test"); // 标题   
            email.setCharset("GBK");   
            email.setMsg("Just a simple send test.中文"); // 内容   
            email.send();   
  
        } catch (EmailException e) {   
            e.printStackTrace();   
        }   
    }   
}  

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class TestSendMail {
        public static void main(String[] args) {
                SimpleEmail email = new SimpleEmail();
                email.setTLS(true);   
                email.setHostName("smtp.163.com");
                email.setAuthentication("sfeve@163.com", "******"); // 用户名和密码

                try {
                        email.addTo("183614305@qq.com"); // 接收方
                        email.setFrom("sfeve@163.com"); // 发送方
                        email.setSubject("Java Mail Test"); // 标题
                        email.setCharset("GBK");
                        email.setMsg("Just a simple send test.中文"); // 内容
                        email.send();

                } catch (EmailException e) {
                        e.printStackTrace();
                }
        }
}

一运行,提示错误。仔细检查代码,没有发现问题。。
上网查资料后发现,邮箱必须开启pop3/smtp服务。。把收发的两个邮箱都开通了后,发送成功。


不错,简单明了,要是用的话 还要拿过来改改
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-5 22:47 , Processed in 0.134275 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表