我成功创建了一个可以从 gmail 帐户发送电子邮件的 java 程序,但是,现在我需要使用 Microsoft Exchange Server 对电子邮件帐户执行相同的操作。
不同之处在于,当我创建 gmail 应用程序时,我拥有了插入 JavaMail API 程序以使其工作所需的所有信息。例如SMTP服务器是smtp.gmail.com,端口是587,账户需要设置为“不太安全的登录要求”等等...
我无权访问 Exchange Server 的任何此类信息。我想知道这是否可以做到?我假设我可能无法像使用 gmail 那样使用 JavaMail API,因为我没有这些字段所需的任何信息。还有其他我可以使用的库吗?
如果有些内容听起来像是我真的不知道自己在说什么,那可能是因为我不知道。这对我来说是一个新领域,我似乎碰壁了。基本上我只需要一个可以从 Microsoft Exchange 服务器上托管的帐户发送电子邮件的程序。希望从此以后能做到这一点。谢谢。
最佳答案
Ms Exchange 和 GMail 都是电子邮件提供商,它们依赖相同的协议(protocol):SMTP 。因此,如果启用了所需的功能,您的 JavaMail API 也应该与 Exchange 一起使用:
- SMTP:默认情况下应启用,除非您的管理员禁用了它。
- SMTP Authentication ,或SMTP relay对于您的发件人 IP 地址:在最新版本的 Exchange 上,默认情况下禁用某些身份验证机制 (AUTH LOGIN)。中继还必须由管理员配置。
查找 Exchange 服务器地址和端口的最简单方法是联系您的 Exchange 管理员。不过,您可以通过以下方式自行查找:
- 如果您不在 Exchange 本地网络上,可以尝试“nslookup -q=mx senderdomain.com”来查找 Exchange IP 地址
- 或者,您可以尝试关注 this procedure
获得 Exchange IP 地址后,请确认 SMTP 传送端口 (25) 已打开(应该已打开)。如果您的 IP 已授权中继,那么您应该完成了。 否则,测试 SMTP 提交端口 (587) 是否打开,该端口应该是您用来发送经过身份验证的电子邮件的端口。
或者,您可以尝试使用 Exchange Web Services API,前提是它在服务器上启用。似乎有一个 Microsoft JAVA 库可以使用 EWS:ews-java-api .
关于java - 我需要从 Microsoft Exchange 服务器上托管的电子邮件发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017954/