【问题标题】:I need to send emails from an email hosted on a Microsoft Exchange server我需要从托管在 Microsoft Exchange 服务器上的电子邮件发送电子邮件
【发布时间】:2015-11-08 04:12:53
【问题描述】:

我成功创建了一个可以从 gmail 帐户发送电子邮件的 java 程序,但是,现在我需要使用 Microsoft Exchange Server 对电子邮件帐户执行相同的操作。

不同之处在于,当我创建 gmail 应用程序时,我拥有了插入 JavaMail API 程序以使其工作所需的所有信息。比如SMTP服务器是smtp.gmail.com,端口是587,账号需要设置为“安全登录要求较低”等...

我无权访问 Exchange Server 的任何此类信息。我想知道这是否可以做到?我假设我可能无法像使用 gmail 一样使用 JavaMail API,因为我没有任何字段所需的信息。有没有其他我可以使用的库?

如果其中一些听起来我真的不知道我在说什么,那可能是因为我不知道。这对我来说是一种新的领域,我似乎碰壁了。基本上我只需要一个可以从托管在 Microsoft Exchange 服务器上的帐户发送电子邮件的程序。希望这会从那时起。谢谢。

【问题讨论】:

  • 首先要确定托管服务提供商提供的邮箱访问权限。例如,如果为您提供对邮箱的 IMAP 访问,则使用端口 587(IMAP 的默认 SMTP 端口),例如 Office365 stackoverflow.com/questions/14430962/…

标签: java email smtp exchange-server


【解决方案1】:

Ms Exchange 和 GMail 都是电子邮件提供商,它们依赖于相同的协议:SMTP。因此,如果启用了所需的功能,您的 JavaMail API 也应该与 Exchange 一起使用:

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

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

  1. 如果您不在 Exchange 本地网络上,可以尝试“nslookup -q=mx senderdomain.com”来查找 Exchange IP adderss
  2. 否则,您可以尝试关注this procedure

获得 Exchange IP 地址后,确认 SMTP 传送端口 (25) 已打开,它应该已打开。如果中继已为您的 IP 授权,则应该完成。 否则,测试是否打开了 SMTP 提交端口 (587),这应该是您用来发送经过身份验证的电子邮件的端口。

或者,您可以尝试使用Exchange Web Services API,前提是它已在服务器上启用。似乎有一个 Microsoft JAVA 库可以使用 EWS:ews-java-api

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2011-12-03
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    相关资源
    最近更新 更多