以下代码,用来连接gmail和hotmail不行,其他都可以。
gmail和hotmail要用SSLSocket登陆才行,加密过的。
有木有办法让javamail登陆gmail和Hotmail啊???Properties pro = new Properties();
Session session1 = Session.getInstance(pro);
Store store = session1.getStore("pop3");
store.connect("pop.gmail.com","username","password");
store.close();

解决方案 »

  1.   

    竟然木有回帖。。开来j2ee版块不行啊。。
      

  2.   

    外事不决问谷歌 =_=http://aguang520.iteye.com/blog/970804Gmail目前已经启用了POP3和SMTP服务,具体情况请看 http://www.javayou.com/showlog.jspe?log_id=490 与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的,因此常规的JavaMail程序是无法收发邮件的,下面是使用JavaMail如何收取Gmail邮件以及发送邮件的代码: 
    public static void main(String[] args) throws AddressException, MessagingException {   
      Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());   
      final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";   
      // Get a Properties object   
      Properties props = System.getProperties();   
      props.setProperty("mail.smtp.host", "smtp.gmail.com");   
      props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);   
      props.setProperty("mail.smtp.socketFactory.fallback", "false");   
      props.setProperty("mail.smtp.port", "465");   
      props.setProperty("mail.smtp.socketFactory.port", "465");   
      props.put("mail.smtp.auth", "true");   
      final String username = "[邮箱帐号]";   
      final String password = "[邮箱密码]";   
      Session session = Session.getDefaultInstance(props, new Authenticator(){   
          protected PasswordAuthentication getPasswordAuthentication() {   
              return new PasswordAuthentication(username, password);   
          }});   
      
           // -- Create a new message --   
      Message msg = new MimeMessage(session);   
      
      // -- Set the FROM and TO fields --   
      msg.setFrom(new InternetAddress(username + "@mo168.com"));   
      msg.setRecipients(Message.RecipientType.TO,    
        InternetAddress.parse("[收件人地址]",false));   
      msg.setSubject("Hello");   
      msg.setText("How are you");   
      msg.setSentDate(new Date());   
      Transport.send(msg);   
         
      System.out.println("Message sent.");   
     }
      

  3.   

    上面那个是发邮件,这个是收邮件:/** 
     * 用于收取Gmail邮件 
     * @author Winter Lau 
     */  
    public class GmailFetch {  
       
     public static void main(String argv[]) throws Exception {  
      
      Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());  
      final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";  
      
      // Get a Properties object  
      Properties props = System.getProperties();  
      props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);  
      props.setProperty("mail.pop3.socketFactory.fallback", "false");  
      props.setProperty("mail.pop3.port", "995");  
      props.setProperty("mail.pop3.socketFactory.port", "995");  
      
      //以下步骤跟一般的JavaMail操作相同  
      Session session = Session.getDefaultInstance(props,null);  
      
      //请将红色部分对应替换成你的邮箱帐号和密码  
      URLName urln = new URLName("pop3","pop.gmail.com",995,null,  
        "[邮箱帐号]", "[邮箱密码]");  
      Store store = session.getStore(urln);  
      Folder inbox = null;  
      try {  
       store.connect();  
       inbox = store.getFolder("INBOX");  
       inbox.open(Folder.READ_ONLY);  
       FetchProfile profile = new FetchProfile();  
       profile.add(FetchProfile.Item.ENVELOPE);  
       Message[] messages = inbox.getMessages();  
       inbox.fetch(messages, profile);  
       System.out.println("收件箱的邮件数:" + messages.length);  
       for (int i = 0; i < messages.length; i++) {  
        //邮件发送者  
        String from = decodeText(messages[i].getFrom()[0].toString());  
        InternetAddress ia = new InternetAddress(from);  
        System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')');  
        //邮件标题  
        System.out.println("TITLE:" + messages[i].getSubject());  
        //邮件大小  
        System.out.println("SIZE:" + messages[i].getSize());  
        //邮件发送时间  
        System.out.println("DATE:" + messages[i].getSentDate());  
       }  
      } finally {  
       try {  
        inbox.close(false);  
       } catch (Exception e) {}  
       try {  
        store.close();  
       } catch (Exception e) {}  
      }  
     }  
       
     protected static String decodeText(String text)  
       throws UnsupportedEncodingException {  
      if (text == null)  
       return null;  
      if (text.startsWith("=?GB") || text.startsWith("=?gb"))  
       text = MimeUtility.decodeText(text);  
      else  
       text = new String(text.getBytes("ISO8859_1"));  
      return text;  
     }  
      

      

  4.   

    哟西
    与其他邮箱不同的是Gmail提供的POP3和SMTP是使用安全套接字层SSL的
      

  5.   

    那只能用javamail的话,什么办?????????
      

  6.   


    给你的地址和参考URL已经是能够搞定Gmail的啊!