2014-07-03 130 views
0

我想通過Java發送電子郵件,並且我已經做過此操作,但現在正在使用的ISP似乎已經阻止了所有端口,因爲我擁有此代碼:Java郵件無法連接到端口

 Properties props = new Properties(); 
     props.put("mail.smtp.auth", "true"); 
     props.put("mail.smtp.starttls.enable", "true"); 
     props.put("mail.smtp.host", "smtp.gmail.com"); 
     props.put("mail.smtp.port", "587"); 
     // tried props.put("mail.smtp.port", "25"); 
     //props.put("mail.smtp.port", "8889"); For my personal host setting 
     props.put("mail.smtp.timout", "10000"); 

問題是我不斷收到Could not connect to port error,所以在情況下,ISP阻止所有的港口,在那裏發送電子郵件或以防萬一,可能是壞了我的做法任何可能的方式。 (它可以與一些ISP協同工作,但不能與我需要的代碼一起工作)

+0

您是否嘗試過465使用SSL這一個(非SSL)? –

+0

@JorgeCampos:是仍然是端口錯誤 – JAX

+0

請聯繫您當前的ISP。如果代碼在別處運行,我不相信這會成爲編程問題。 –

回答

0

如果可以幫助(對於Gmail),請嘗試這一項。

下面的一些行可能不是必需的,但我沒有測試過每一行只使用這些鍵值對並且工作正常。

Properties props = new Properties(); 
    props.put("mail.smtp.user", senderEmailAddress); 
    props.put("mail.smtp.host", "smtp.gmail.com"); 
    props.put("mail.smtp.port", "465"); 
    props.put("mail.smtp.starttls.enable","true"); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.socketFactory.port", port_port); 
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
    props.put("mail.smtp.socketFactory.fallback", "false"); 

    //SecurityManager security = System.getSecurityManager(); 

對於我的本地電子郵件我已經使用

System.setProperty("sun.security.ssl.allowUnsafeRenegotiation","true"); 
    Properties props = new Properties(); 
    props.put("mail.smtp.user", senderEmailAddress); 
    props.put("mail.smtp.host", host_name); //for me : mail.mydomain.com 
    props.put("mail.smtp.port", smtp_port); //mine is "25" 
    props.put("mail.transport.protocol", "smtp"); 
    props.setProperty("mail.smtp.quitwait", "false"); 
    props.put("mail.smtp.auth", "true"); 
    //props.put("mail.smtp.starttls.enable","true");   
    //props.put("mail.smtp.socketFactory.port", smtp_port); 
    //props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
    //props.put("mail.smtp.socketFactory.fallback", "false"); 

//SecurityManager security = System.getSecurityManager(); 
+0

我仍然無法連接到端口錯誤 – JAX

相關問題