我已经在我们的 Intranet 环境中部署了一个报告网站。现在我的 TL 希望我使用它发送电子邮件。但是我们公司没有向我提供 SMTP 详细信息。
我可以通过任何方式发送吗?
就像使用 DNS 或任何其他选项一样。
我已经在我们的 Intranet 环境中部署了一个报告网站。现在我的 TL 希望我使用它发送电子邮件。但是我们公司没有向我提供 SMTP 详细信息。
我可以通过任何方式发送吗?
就像使用 DNS 或任何其他选项一样。
所以您想在不使用简单邮件传输协议的情况下发送电子邮件?我不确定你的意思。您可能的意思是,您想在没有安装在专用服务器(即“SMTP-Server”)上的邮件传输代理 (MTA) 的情况下发送邮件。这是完全可能的,除了防火墙和过滤器设置。
电子邮件旨在从一台计算机发送到任何其他计算机。为此,接收主机需要一个服务来侦听邮件,而发送主机只需打开与该主机的 TCP 连接并向其发送消息;使用 SMTP 协议。您需要的是实现 SMTP 协议的程序。
您可能不想自己实现该协议,但是有很多库可以为您做到这一点。我不知道 C# 有什么好的,我帮不了你。
但是有一个问题,它可能仍然不起作用。为了遏制垃圾邮件,防火墙和 MTA 管理员将丢弃来自他们不信任的主机的任何邮件。对于“客户端”系统尤其如此。因此,这取决于您的环境,您可能希望在中间添加一个真正的 MTA,或者如果可能的话,将您的主机添加到可能发送电子邮件的主机白名单中。
注意:如果您想向 jane@company.com 发送电子邮件,请不要将消息发送到 jane 的计算机,而是将其发送到 company.com 的邮件服务器。那要么是在 company.com 下回答的服务器,要么是 DNS 记录中的 MX 条目。但是,如果您使用第三方库,则无需担心。
附录:
最后,正如@ta.speot.is 指出的那样,在交换环境中,您可能还会遇到 MAPI 协议。基本要点是相同的,您需要将 MAPI 库集成到您的应用程序中。在这种情况下,您将需要更加确定地与管理员交谈,因为他们可能不会让对他们来说未知的服务器与交换基础设施交谈。