使用 C# 連接到 SMTP 服務器

簡單郵件傳輸協議 (SMTP) 是最常用的電子郵件協議,用於處理從客戶端應用程序向電子郵件服務器發送電子郵件消息。在各種情況下,電子郵件客戶端在 .NET 應用程序中實現,以便通過 SMTP 發送電子郵件。對於此類情況,本文介紹瞭如何使用 C# 以編程方式連接到 SMTP 服務器。此外,代碼示例演示瞭如何在連接建立後通過 SMTP 客戶端發送電子郵件。

用於連接 SMTP 服務器的 C# API

Aspose.Email for .NET 是一個 C# API,旨在創建強大的電子郵件客戶端應用程序。 API 使得在幾行代碼中非常容易地執行複雜的電子郵件操作成為可能。此外,它還允許您通過 SOCKS 和 HTTP 代理服務器連接 SMTP 服務器。您可以 下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Email

使用 C# 連接到 SMTP 服務器

在連接到 SMTP 服務器之前,您需要了解以下內容。

  • 用戶名
  • 密碼
  • 港口

擁有它們後,您可以使用以下步驟配置 SMTP 客戶端。

以下代碼示例顯示如何在 C# 中為 SMTP 連接設置 API。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// 設置用戶名、密碼、端口和安全選項
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

配置 API 後,您可以使用以下選項之一連接到 SMTP 服務器。

在 C# 中通過 SOCKS 代理服務器連接到 SMTP

Aspose.Email 提供對版本 4、4a 和 5 的 SOCKS 代理協議的支持。以下是使用 Aspose.Email for .NET 通過 SOCKS 代理服務器連接到 SMTP 服務器的步驟。

以下代碼示例顯示如何使用 C# 通過 SOCKS 代理連接到 SMTP 服務器。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = proxy;
client.Send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

通過 HTTP 代理服務器連接到 SMTP 服務器

以下是通過 HTTP 代理服務器連接到 SMTP 服務器的步驟。

以下代碼示例顯示瞭如何通過 HTTP 代理服務器連接到 SMTP 服務器。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-email/Aspose.Email-for-.NET
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
    client.Proxy = proxy;
    client.Send(new MailMessage(
        "from@domain.com",
        "to@domain.com",
        "NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
        "NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

獲取免費的 API 許可證

您可以通過獲得臨時許可證免費試用和使用 Aspose.Email for .NET。

結論

在本文中,您學習瞭如何使用 C# 連接到 SMTP 服務器。此外,分步指南和代碼示例展示瞭如何通過 SOCKS 和 HTTP 代理服務器連接到 SMTP 服務器。您可以使用 文檔 探索有關 C# 電子郵件 API 的更多信息。

也可以看看