其他的mail地址可以收到吗?还是只有hotmail地址收不到

解决方案 »

  1.   

    看了一下程序看不出有什么错呀,你可试着换一下其它的邮箱看下,好象hotmail的比较难发的!还有sohu的也有点特虽的啦!!
      

  2.   

    给hotmail发确实有一些问题,但是有好多使用hotmail的人,怎么能不把问题弄清楚呢,共同waiting & finding ...
      

  3.   

    我找到了一些,你看看这篇文章对你有没有帮助:
    http://dev.yesky.com/SoftChannel/72342371961929728/20050211/1910972.shtml
      

  4.   

    下面是我摘过来的一些:
    下面两段代码用于Hotmail邮件的收发:  1. 邮件收取/*
    * 文件名:HotmailDemo.java
    * 创建时间:2004-9-14
    * 创建者:liudong
    */
    package com.clickcom.mail;import java.util.Date;
    import java.util.Properties;import javax.mail.Folder;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Store;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;/**
    * Hotmail邮件的收发器
    * @author liudong
    */
    public class HotmailDemo {
     public static void main(String[] args) {
      receive();
     } /**
     * 邮件接收
     */  protected static void receive() {
      try {
       Properties prop = new Properties();
       Session ses = Session.getInstance(prop);
       //使用JDAVMail Provider
       Store store = ses.getStore("davmail");
       //无需指定服务器地址
       store.connect(null, "你的帐号","密码");
       if (store.isConnected()) {
        Folder inbox = store.getFolder("INBOX");
        if (inbox.exists()) {
         inbox.open(Folder.READ_ONLY);
         int nCount = inbox.getMessageCount();
         System.out.println("Inbox contains " + nCount + " messages");
         // 依次显示收件箱中的每封邮件
         for(int i=1;i<=nCount;i++){
          MimeMessage msg = (MimeMessage) inbox.getMessage(i);
          System.out.println("Subject : " + msg.getSubject());
          System.out.println("From : " + msg.getFrom()[0].toString());
          System.out.println("Content type : " + msg.getContentType());
          System.out.println(msg.getContent());
         }
        }
       }
      } catch (Exception ex) {
       ex.printStackTrace();
      }
     }
    }   从上面这段代码我们发现除了 Store store = ses.getStore("davmail"); 这个语句,同时不需要指定服务器地址外,其他的都跟一个普通的JavaMail应用程序没有两样,也没有引入任何跟JDAVMail有关的类。没有指定服务器地址这个比较容易理解,因为Hotmail提供HttpMail服务的地址是固定的。事实上仅有getStore这个语句跟常规邮件客户端程序有点不同的是它使用davmail字符串作为参数,而我们在使用JavaMail连接POP3服务器的时候指定参数值为pop3。怎么回事呢?因为JavaMail是通过协议名来加载Provider类的。打开JDAVMail.0.9.006.jar这个jar文件就会发现在META-INF目录下有一个文件javamail.providers,该文件内容如下:protocol=davmail; 
    type=store; class=com.posisoft.jdavmail.JDAVMailStore;
    vendor=Positive Software;
    protocol=davmail_xmit;
    type=transport;
    class=com.posisoft.jdavmail.JDAVMailTransport;
    vendor=Positive Software;   因此当我们指定协议名为davmail时,JavaMail就会自动加载com.posisoft.jdavmail.JDAVMailStore类进行处理,因此通过传入davmail字符串所得到的store实例实际上是类com.posisoft.jdavmail.JDAVMailStore的一个实例,这样我想大家应该了解了前面这段程序的工作原理。  我们再来看JDAVMail发送邮件的代码片段:/**
    * 邮件发送
    */
    protected static void send() {
     try {
      Properties prop = new Properties();
      //邮件发送者地址
      prop.setProperty("mail.davmail.from","[email protected]");
      Session ses = Session.getInstance(prop);
      //获得JDAVMail的邮件发送实例
      Transport transport = ses.getTransport("davmail_xmit");
      //连接到Hotmail服务器,请替换为自己的用户名和口令
      transport.connect(null, "用户名","口令");  // 准备要发送的邮件
      MimeMessage txMsg = new MimeMessage(ses);
      txMsg.setSubject("This is the subject");  //邮件发送者地址
      InternetAddress addrFrom = new InternetAddress("[email protected]");
      txMsg.setFrom(addrFrom);  //邮件接收者地址
      InternetAddress addrTo = new InternetAddress("[email protected]", "cdef");
      txMsg.addRecipient(Message.RecipientType.TO, addrTo);  //邮件内容
      txMsg.setText("Hello world !");
      txMsg.setSentDate(new Date());  //发送邮件
      transport.sendMessage(txMsg, txMsg.getAllRecipients());
     } catch (Exception ex) {
      ex.printStackTrace();
     }
    }   同样这段代码使用了davmail_xmit协议来获取JDAVMail的邮件发送实例,通过前面提到的javamail.providers文件不难知道JDAVMail使用类com.posisoft.jdavmail.JDAVMailTransport进行邮件的发送处理。  在实际测试中发现不管是JDAVMail还是其他的邮件工具,使用Hotmail进行邮件的发送速度比较慢,差不多有几分钟后才能收到相应的信息,因此如果测试中发现该问题请耐心等待。  我想通过本文介绍如何利用JDAVMail收发Hotmail邮件,以及研究JDAVMail的源码,不仅可以更加深入了解JavaMail的体系结构,对编写JavaMail Provider也有更加具体的参照。另外希望为正困挠于如何在Java程序中访问Hotmail邮件的朋友们排忧解难。同时也非常欢迎通过我的网站 http://www.javayou.com 跟我交流在使用中遇到的问题。
      

  5.   

    多谢诸位了 JDAVMail还是不行
    现在我使用PHP+JSP解决问题了再说一句:Java真是垃圾的东西