C# 在不安装SMTP服务器的情况下发送邮件

C# 在不安装SMTP服务器的情况下发送邮件,c#,.net,email,smtp,C#,.net,Email,Smtp,我有一个.Net应用程序。我希望此应用程序向我发送电子邮件。如何在不安装SMTP服务器的情况下实现此功能?如果没有SMTP服务器的服务,您无法发送电子邮件,当然不需要安装SMTP服务器,只需将代码指向您的ISPs SMTP服务器或您的公司交换服务器(或他们使用的任何服务器)。这篇文章由Peter Bromberg在eggheadcafe.com上撰写 说明如何在不依赖SMTP客户端的情况下发送电子邮件: 使用本机服务器通过TCP发送电子邮件 SMTP RFC命令“HELO”、“邮件发件人”,

我有一个.Net应用程序。我希望此应用程序向我发送电子邮件。如何在不安装SMTP服务器的情况下实现此功能?

如果没有SMTP服务器的服务,您无法发送电子邮件,当然不需要安装SMTP服务器,只需将代码指向您的ISPs SMTP服务器或您的公司交换服务器(或他们使用的任何服务器)。

这篇文章由Peter Bromberg在eggheadcafe.com上撰写

说明如何在不依赖SMTP客户端的情况下发送电子邮件:

使用本机服务器通过TCP发送电子邮件 SMTP RFC命令“HELO”、“邮件发件人”, RCPT到“等”没什么大不了的 我们学习的第一个技巧之一 Telnet。查找或写入管理 可靠地执行此操作的代码是 另一个故事。课堂上的代码 下面的代码不是我的原始代码- 我是三个人拼凑起来的 不同的样品来源,固定 名称空间、错误处理和其他 次要项目,将控制台代码更改为 类库代码,并提供 完整的基于Winforms的测试工具 说明其正确性的前端 用法

我还提供了示例代码 正确处理和添加邮件的步骤 通过此处的OpenFileDialog进行附件。 这段代码是MIME编码和传输的 附件应符合以下要求: 规格

使用发送不需要在本地计算机上有服务器


您的电子邮件服务提供商是服务器提供商(例如smtp.gmail.com),并且您的
SmtpClient
与之对话。

这仍然依赖于另一端有一个SMTP服务器;我不确定不使用SmtpClient和MailMessage有什么好处……嗯,另一端必须始终有一个SMTP服务器。此示例显示您在代码中明确使用SMTP协议发送邮件。@splatne:好的……我想自己实现这个协议可能会很有趣;]如果你需要示例代码,这里有一些演示如何使用Gmail的SMTP服务发送电子邮件。@GateKiller:谢谢你的链接,我很感激这个答案有误导性。你可以在没有自己的邮件服务的情况下将电子邮件发送给收件人版本。连接到收件人域上MX记录标识的服务器,并直接通信。@Brendan:我想可能你误解了我。我说的是“没有SMTP服务器的服务”。你说的是“直接通信”“这与域的MX记录解析到的服务器有关。该服务器是SMTP服务器。如何直接与目标SMTP服务器通信?如果你试图以客户的身份这样做,很可能会感到不安(或者至少应该如此),因为你不是客户之一。你可以像对待SMTP服务器一样与它交谈,但这是一项艰巨的工作。大多数理智的地方都会通过阻止出站端口25作为垃圾邮件过滤措施来防止这种情况的发生。