Android编程实现从任何电子邮件地址发送电子邮件

5
我正在编写一个应用程序,以编程方式发送电子邮件,而不使用Intent。
我已经使用Java Mail API和支持Gmail身份验证的SMTP编写了该应用程序。
但是,该应用程序仅支持使用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之外的任何电子邮件地址和密码来发送电子邮件,比如Yahoo等。但是当我尝试使用Yahoo时,邮件无法发送。

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

提前感谢您。


有人知道如何在Android中以编程方式从任何电子邮件地址发送电子邮件吗? 请帮我处理这个应用程序... - suneth rajamanthri
请写下您尝试过的代码。 - Jhanvi
jHanvi:我附上了发送电子邮件的代码。从这个代码中,我只能使用 Gmail 地址发送邮件。但是我想要从 Yahoo、Hotmail 等地址发送邮件。 - suneth rajamanthri
请查看以下链接:https://dev59.com/GnI-5IYBdhLWcg3wFkSO#2033124这可能会对您有所帮助。 - sachin pareek
1个回答

6
Porthost是变量,各个服务提供商的值不同。例如:

Gmail- Host: smtp.gmail.com,Port: 465

Hotmail- Host: smtp.live.com,Port: 587

Yahoo- Host: smtp.mail.yahoo.com,Port: 465

根据使用的服务提供商更改这些值即可完成配置。

我应该为outlook.com提供什么?我尝试使用smtp-mail.outlook.com作为主机名和587作为端口,但无效。 - Shailendra Madda
出现以下异常: javax.mail.MessagingException: 无法连接到 SMTP 主机:smtp-mail.outlook.com,端口:587; 嵌套异常为: javax.net.ssl.SSLException: 无法解析 TLS 数据包头 - Shailendra Madda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接