Android以编程方式从任何电子邮件地址发送电子邮

时间:2013-12-12 05:18:00

标签: java android javamail

我正在编写一个应用程序,无需使用Intent即可以编程方式发送电子邮件。

我能够使用带有Gmail身份验证的SMTP使用Java Mail API编写应用程序。

但是此应用程序支持仅使用gmail地址发送电子邮件。使用任何Gmail地址和密码,我也可以将电子邮件发送到任何电子邮件地址。

private Properties _setProperties() { 
    Properties props = new Properties(); 


props.put("mail.smtp.host", "smtp.gmail.com"); 

if(_debuggable) { 
  props.put("mail.debug", "true"); 
} 

if(_auth) { 
  props.put("mail.smtp.auth", "true"); 
} 

props.put("mail.smtp.port", _"465"); 
props.put("mail.smtp.socketFactory.port", _"465"); 
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
props.put("mail.smtp.socketFactory.fallback", "false"); 


    return props; 
  } 

但是我想使用任何带有密码的电子邮件地址而不是Gmail,并发送电子邮件,如雅虎等。 当我尝试雅虎时,邮件没有被发送。

请告诉我如何完成这项任务。

先谢谢你。

1 个答案:

答案 0 :(得分:6)

Porthost是变量,因不同的提供商而异。例如:

Gmail - 主持人:smtp.gmail.com,端口:465

Hotmail - 主持人:smtp.live.com,端口:587

Yahoo - 主持人:smtp.mail.yahoo.com,端口:465

根据您使用的提供商更改这些值,然后就可以完成。