无论如何在Intranet环境中发送电子邮件而不在C#.net中使用SMTP?

我在Intranet环境中部署了一个Reporting网站。 现在我的TL要我用这个发送电子邮件。 但是我们公司没有向我提供SMTP详细信息。

我可以通过任何方式发送吗?

喜欢使用DNS或任何其他选项..

所以你想在不使用简单邮件传输协议的情况下发送电子邮件? 我不确定你的意思。 您可能的意思是,您希望在没有安装在专用服务器(即“SMTP-Server”)上的邮件传输代理(MTA)的情况下发送邮件。 这完全有可能,除了防火墙和filter设置。

电子邮件旨在从一台计算机发送到任何其他计算机。 为了使其正常工作,接收主机需要一个服务来监听邮件,发送主机只需打开与该主机的TCP连接并向其发送消息; 使用SMTP协议。 您需要的是实现SMTP协议的程序。

您可能不希望自己实现协议,但是有很多库可以帮助您实现。 我不知道C#有什么好的,你在那里我帮不了你。

但是有一个问题,它可能仍然无效。 为了遏制垃圾邮件,防火墙和MTA管理员将丢弃来自他们不信任的主机的任何消息。 对于“客户端”系统尤其如此。 所以这取决于您的环境,您可能希望在中间添加一个真正的MTA,或者如果可能的话,将您的主机添加到可能提供电子邮件的白名单主机中。

注意:如果您想发送电子邮件到jane@company.com,您不会向jane的计算机发送消息,而是将其发送到company.com的邮件服务器。 这是在company.com下回答的服务器或DNS记录中的MX条目。 但是如果您使用第三方库,则不必担心。

附录:

最后,@ ta.speot.is指出,在交换环境中,您可能还会遇到MAPI协议。 基本要点是相同的,您需要将MAPI库集成到您的应用程序中。 在这种情况下,您甚至需要更多地与管理员交谈,因为他们可能不会让未知的服务器与交换基础设施通信。