各位同仁:最近在维护一个用到javax.mail的项目.有几个问题想请教一下:
现把代码贴出:
                  ResourceBundle rb = ResourceBundle.getBundle("test.mail");     

Properties props = System.getProperties();
props.put("mail.stmp.host", this.SmtpHost);
props.setProperty("proxySet", "true");
props.setProperty("http.proxyHost", "*****");
props.setProperty("http.proxyPort", "8080");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(this.From)); message.addRecipients(Message.RecipientType.TO, InternetAddress
.parse(this.To));
message.setSubject(this.Title);
message.setContent(this.Content, "text/html;charset=gb2312");
Transport transport = session.getTransport("smtp");
transport.connect(this.SmtpHost, rb.getString("admin.email"),
rb.getString("admin.pwd"));

transport.sendMessage(message, message.getAllRecipients());
transport.close();
问题1,我这边上网是用的代理,在ie里设置的http代理,但是在我用以上代码发送邮件的时候却发不出去,连不上邮件服务器,网上google了一下啊,说用http代理不能发邮件,请各位大侠有这方面经验的帮忙解释一下.问题2.message.setFrom(***)里的邮件是发件人,transport.connect(this.SmtpHost, rb.getString("admin.email"),
rb.getString("admin.pwd"));里的是登录邮件服务器时验证用的名字和密码,请问如果这个邮件名不一致可以么,为什么?请大家不吝赐教,不胜感激!

解决方案 »

  1.   

    这里API和源码例子
    一个英文的,一个翻译的:
    http://apicode.gicp.net/class.do?api=selectByfatherIndex&father=255
    http://apicodecn.gicp.net/class.do?api=selectByfatherIndex&father=255
      

  2.   

    问题1:HTTP代理只能访问HTTP服务用,不能用于其它服务.
    问题2:名字不一致大多数不行.因为邮件服务器会验证你的邮件发送人.如果不正确,不给发.
    当然,也有些邮件服务器不官这些,就是可以匿名发送。也就是只要是发邮件,不管是谁的,都给发。
      

  3.   

    问题2,我用了yahoo的,试过之后,不一样也行。
      

  4.   

    问题1,接收邮件走的代理不同,如stmp,pop3
      

  5.   

    问题1:如果我采用http上网的话,难道就没有办法用这个方式发邮件了么,网上google下说sorked的代理可以,但是http代理不行问题2:邮件服务器是否验证,是邮件服务器设置的问题,还是我props.put("mail.smtp.auth", "true")启的作用?  另外发匿名邮件是指不用验证,还是message.setFrom(***)里不用写发件人呢?
      

  6.   

    2验证不是那个mail.smtp.auth的验证,这个是服务器为了防止发出垃圾邮件,自己做的另一种验证,就是必须发件人和from必须一致,至于mail那个验证,是验证你帐号有米能力发邮件的验证
      

  7.   


    mail.smtp.auth                   验证你的帐号有没能力发邮件(类似意思)
    from和发件人不同                   这是服务器内部的设置问题,你没办法去更改(这个可以有效防止垃圾邮件)