android通过交换服务器发送邮件

时间:2013-01-30 14:18:09

标签: android exchange-server sendmail

我想从我的Exchange服务器发送邮件。我尝试了很多东西。

我发现以后的交换版本不支持webdav。 Activesync需要许可才能使用它。

我正在尝试使用smtp,但大多数公司帐户都禁用了smtp。

我真的被困在这一点上。 关于如何继续进行的任何指导都非常有用。

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您的Exchange是Exchange 2010并且您具有OWA访问权限,则可以通过单击右上角的圆形问号图标(?)来查看Exchange提供的邮件FQDN和端口OWA的一角(" 选项"旁边),然后点击关于

在弹出的窗口中,您将获得诸如(这是来自Office 365)

之类的信息
 External POP setting:
 Server name: pod51018.outlook.com
 Port: 995
 Encryption method: SSL External IMAP setting:
 Server name: pod51018.outlook.com
 Port: 993
 Encryption method: SSL External SMTP setting:
 Server name: pod51018.outlook.com
 Port: 587
 Encryption method: TLS

如果你正在编写一个发送SMTP的应用程序,那么你的邮件服务器可能并不重要,因为你不会使用任何特定于Exchange的协议。您必须使用ActiveSync来利用Exchange功能,否则您只需使用POP3 / IMAP4作为检索方法,使用SMTP作为发送方法,所有这些都是标准协议。

您的Exchange服务器(以及配置正确的邮件服务器)可能会阻止SMTP开放中继,因此您很可能需要用户对SMTP服务器进行身份验证。除了身份验证之外,您还需要使用允许提交和/或中继的正确SMTP端口。

端口将是:

  • 25 - 如果您只想向同一邮件系统内的收件人提交邮件(而不是转发),则应始终可用。
  • 465 - 旧版安全SMTP(我不相信这个广泛使用)。
  • 587 - 经过身份验证的SMTP(在Exchange 2010中,这称为客户端接收连接器,或类似的东西)
  • ??? - 管理员指定的自定义端口?

出于测试目的,如果测试邮件的收件人位于SMTP服务器收到的邮件系统中,您可以通过端口25发送标准SMTP邮件,而无需身份验证。这基本上是来自互联网的常规电子邮件。但是,反垃圾邮件系统可能会检测到欺骗尝试,因此请注意这种可能性,并在未收到测试消息时检查任何隔离区。

如果您尝试匿名发送到SMTP服务器接收的邮件系统的收件人外部(即中继),这几乎肯定不会起作用。

总结如下:

  1. 找到用于中继的开放SMTP端口(例如587)
  2. 检查其支持/要求的身份验证方法并提供身份验证
  3. 提交消息。
  4. 或者如果发送到该邮件系统内的收件人:

    1. 正确格式化SMTP邮件(发件人,收件人)
    2. 将未经身份验证的SMTP邮件提交到TCP 25
    3. 检查邮箱(注意隔离,以防万一)。
    4. 另一种可能性(我没有经验)是使用Exchange Web服务(如果您有Exchange 2010/2013)。参见:

      http://msdn.microsoft.com/en-us/library/exchange/aa563049(v=exchg.140).aspx