【问题标题】:Is there .NET library for email sending via PROXY?是否有用于通过代理发送电子邮件的 .NET 库?
【发布时间】:2012-05-22 20:15:45
【问题描述】:

我想通过 Visual Studio 上的代理通过 SMTP 发送电子邮件。 是否有任何支持代理的电子邮件发送库?

【问题讨论】:

  • SMTP 协议中没有代理。只有中继。

标签: c# email proxy smtp


【解决方案1】:

我不确定你到底在问什么。

当您谈到通过代理发送时,您能提供更多细节吗?

如果您的意思是“我如何通过 HTTP 代理发送 SMTP”,则不能。 HTTP 代理仅支持 HTTP 和 HTTPS,虽然一些代理服务器也支持 FTP、SOCKS 等,但不支持(据我所知)SMTP。

有 SMTP 代理之类的东西,但我认为它们并不常见;我认为它们都是专有的实现。我当然没有见过处理这种代理的 C# 库,而且我认为没有一个单一的标准 - 我找不到指定标准的 RFC(或等效文档)。

与使用 SMTP 代理不同,使用“存储转发”邮件传输代理 (MTA) 更为正常。换句话说,您将设置一个普通的 MTA,并让它接收电子邮件并将它们转发到其他 MTA。如果您的设置是这种情况,则不需要特殊的代码或库。只需使用 SmtpMail 类将您的电子邮件直接发送到您当地的 MTA,而不必担心它实际上是在充当“转发器”

【讨论】:

  • HTTP 代理和 SOCKS 代理支持任何底层协议,包括 SMTP、IMAP、POP3。因此,您可以通过 HTTP 代理连接到 SMTP 服务器并发送电子邮件。 -1
  • Pawel:您不能通过 HTTP 代理代理 SMTP - 这是不可能的。如果您有 SOCKS 代理并且您的电子邮件客户端支持 SOCKS,您也许可以,但据我所知,.Net 中的 Smtp 类不支持。我想您可以使用诸如 SocksCap 之类的工具,但最终,我试图说明在 SMTP 中,让 MTA“转发”或“代理”您的邮件更为正常,根本不使用传统代理.
  • @Rob:不需要 SOCKS 代理。 HTTP CONNECT 方法允许您通过 HTTP 代理传输几乎任何 TCP 协议,包括 SMTP 及其变体。 en.wikipedia.org/wiki/HTTP_tunnel 所以,您可以通过 HTTP 代理发送 SMTP。当然,被称为 .NET 的草率半生不熟的烂摊子并没有让它变得非常容易......
【解决方案2】:

您可以尝试使用 starksoft 代理(它是免费的),但它包含几个错误,所以要小心: http://www.starksoft.com/prod_proxy.html

你可能想试试Mail.dll email component它支持HTTPSOCKS代理。

请注意,我是 Mail.dll 的作者,它不是免费的。

您可以在此处查看如何将代理与 Mail.dll 一起使用:

http://www.limilabs.com/blog/imap-pop3-smtp-via-http-socks-proxy

【讨论】:

    【解决方案3】:

    我假设您指的是 Socks 代理服务器。

    这是一个无耻的插件,但由于你没有指定你想要一个开源或免费库,所以我在www.advancedintellect.com 的所有电子邮件组件都支持 Socks 代理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 2011-02-08
      • 2018-01-09
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多