java - 我需要从 Microsoft Exchange 服务器上托管的电子邮件发送电子邮件

标签 java email smtp exchange-server

我成功创建了一个可以从 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 一起使用:

  1. SMTP:默认情况下应启用,除非您的管理员禁用了它。
  2. SMTP Authentication ,或SMTP relay对于您的发件人 IP 地址:在最新版本的 Exchange 上,默认情况下禁用某些身份验证机制 (AUTH LOGIN)。中继还必须由管理员配置。

查找 Exchange 服务器地址和端口的最简单方法是联系您的 Exchange 管理员。不过,您可以通过以下方式自行查找:

  1. 如果您不在 Exchange 本地网络上,可以尝试“nslookup -q=mx senderdomain.com”来查找 Exchange IP 地址
  2. 或者,您可以尝试关注 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/

相关文章:

java - 消息驱动 bean,不根据轮询间隔获取新电子邮件

java - Gradle 以 `--add-exports` 运行

c# - 如何使用 Mailkit/MimeKit IMAP 将所有邮件保存到单个 .mbox 文件?

java - Android Studio VerifyError 拒绝来自 JavaMail API 的类 text_plain

linux - 在 Linux 上设置 SMTP 服务器的最简单、最便宜的方法?

java - JTextField无法在if语句java中使用输入

当内存在 ubuntu 中仍然可用时发生 Java 内存不足

php - 用于 php 的简单 SMTP 电子邮件验证功能?另外,值得吗?

c# - 在 ASP.Net 中发送电子邮件的最低限度

ios - 使用 SKPSMTPMessage 发送的电子邮件附件在 iOS 邮件客户端中显示为联系人