2010-07-28 234 views
1

嘗試 { 屬性props = new Properties(); props.put(「mail.smtp.starttls.enable」,「true」); props.setProperty(「mail.transport.protocol」,「smtp」); props.setProperty(「mail.smtp.host」,「smtp.gmail.com」); props.put(「mail.smtp.auth」,「true」);props.put(「mail.smtp.port」,「465」); props.put(「mail.smtp.socketFactory.port」,「587」); props.put(「mail.smtp.socketFactory.fallback」,「false」); props.setProperty(「mail.user」,「username」); props.setProperty(「mail.password」,「password」);java中的電子郵件客戶端

Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() 
    { 
    protected PasswordAuthentication getPasswordAuthentication() 
    { return new PasswordAuthentication("username","password"); } 
    }); 
session.setDebug(true); 

MimeMessage msg = new MimeMessage(session); 

InternetAddress addressFrom = new InternetAddress(from); 
msg.setFrom(addressFrom); 

msg.addRecipient(Message.RecipientType.TO,new InternetAddress(" Recipient mail id ")); 

msg.setSubject(subject); 
Transport transport = session.getTransport(); 
transport.connect(); 
transport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO)); 
transport.close(); 

} catch (Exception e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 

我正在使用上面的代碼發送電子郵件到一個gmail帳戶。我已經在屬性中設置了smtp主機值(smtp.gmail.com)和端口(465)。但電子郵件沒有發送,我的應用程序長時間卡住了。之後,像下面

給予我得到一個錯誤「javax.mail.MessagingException的:無法連接到SMTP主機:smtp.gmail.com端口:465,響應:-1」

誰能告訴什麼原因以及如何解決這個問題?

回答

1

設置

props.put("mail.smtp.starttls.enable", "true"); 

使TLS這是對端口沒有465

props.put("mail.smtp.port", "587"); 

Google Doc

並檢查您是否真的需要這些線路

props.put("mail.smtp.socketFactory.port", "587"); 
props.put("mail.smtp.socketFactory.fallback", "false"); 
+0

另一個參考http://forums.sun.com/thread.jspa?threadID=5316613 – stacker 2010-07-28 06:17:38

+0

嘿,非常感謝你,它的工作.... – Padma 2010-07-28 06:23:32

相關問題