java程序发送邮件

      以前没有做过邮件,现在我完全和大家一样都是个新手,一切都慢慢学吧!下面是我学习过程中的总结的一些经验,希望和对邮件感兴趣的朋友一起学习和分享!

 

1.新建了一个java project ,刚开始,就简单一点,下面的代码直接写在main函数里:

    Properties properties=new Properties();
    properties.setProperty("mail.smtp.auth", "true");//提供验证
    properties.setProperty("mail.transport.protocol", "smtp");//使用的协议 这里是smtp协议
    Session session=Session.getInstance(properties);
    session.setDebug(true);//开启调试 控制台会输出 请求与服务器之间的对话信息  

    
    Message message =new MimeMessage(session);
    message.setFrom(new InternetAddress("
dyy@163.com"));//发件人地址
    message.setText("this is a simple mail");//发件内容

    
    Transport transport=session.getTransport();
    transport.connect("smtp.163.com",25,"
dyyweb@163.com","密码of你地^_^");//连接邮件服务器(服务器地址,端口,用户名,密码)
    transport.sendMessage(message,new Address[]{new InternetAddress("
dyyweb@163.com")});//当message中提供收件人地址时,则这里收件人地址可有可无
    //transport.send(message,new Address[]{new InternetAddress("
dyyweb@163.com")});//静态方法
    transport.close();

 

由于我使用sun提供的javamail开发的,故此在运行project之前要导入相关资源包,我导的是mail.jar (全部功能包),

ok,一切都准备好了,开始run....                              

出现bug了,原来javamail还需要调用第三方JAF才能把邮件发出去,为此我把activation.jar导入,哈哈果然通过验证了...

靠,但还是发送不成功!这时候我开始调试,查找原因,最后把发件人改成真实的地址..再run...

oh,yes, 终于成功了...控制台打印详细信息如下:

DEBUG: setDebug: JavaMail version 1.4.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.163.com", port 25, isSSL false
220 163.com Anti-spam GT for Coremail System (163com[20090903])
DEBUG SMTP: connected to host "smtp.163.com", port: 25

EHLO dengyang
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrUDI0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFFLaXiUCa0xDrUUUUj
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN"
DEBUG SMTP: Found extension "coremail", arg "1Uxr2xKj7kG0xkI17xGrUDI0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFFLaXiUCa0xDrUUUUj"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
AUTH LOGIN
334 dXNlcm5hbWU6
ZHl5d2ViQDE2My5jb20=
334 UGFzc3dvcmQ6
ZGVuZ3lhbmd3ZWJAIw==
235 Authentication successful
DEBUG SMTP: use8bit false
MAIL FROM:<
dyyweb@163.com>
250 Mail OK
RCPT TO:<
dyyweb@163.com>
250 Mail OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP:  
dyyweb@163.com
DATA
354 End data with <CR><LF>.<CR><LF>
From:
dyyweb@163.com
Message-ID: <28571689.0.1273067952820.JavaMail.Administrator@dengyang>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

this is a simple mail
.
250 Mail OK queued as smtp4,DtGowLD7H6GmeeFLzHj8AA--.6201S2 1273067942
QUIT
221 Bye

 

 

打开邮箱查看信息,果然成功收到我用自己的程序写的邮件 ,很开心,我终于可以用自己的程序给别人发邮件了,哈哈    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值