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

区别在于,当我创建gmail应用程序时,我拥有将其插入JavaMail API程序以使其正常运行所需的所有信息。例如,SMTP服务器是smtp.gmail.com,端口是587,需要将帐户设置为“较少安全登录要求”,等等。

我无权访问Exchange Server的所有信息。我想知道是否可以这样做?我认为我可能无法像使用gmail一样使用JavaMail API,因为我没有该字段所需的任何信息。还有其他我可以使用的图书馆吗?

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

最佳答案

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


SMTP:默认情况下应启用,除非您的管理员禁用了它。
发件人IP地址的SMTP AuthenticationSMTP relay:默认情况下,在最新版本的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(如果已在服务器上启用该API)。似乎有一个Microsoft JAVA图书馆使用EWS:ews-java-api

关于java - 我需要从Microsoft Exchange服务器上托管的电子邮件发送电子邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32017954/

10-13 07:08