簡單郵件傳輸協議 (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 客戶端。
- 創建 SmtpClient 類的對象。
- 分別使用 SmtpClient.Username、SmtpClient.Password 和 SmtpClient.Port 屬性設置用戶名、密碼和端口號。
- 使用 SmtpClient.SecurityOptions 屬性設置安全選項。
以下代碼示例顯示如何在 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 服務器的步驟。
- 使用主機地址、用戶名、密碼和其他設置初始化 SmtpClient。
- 創建一個SocksProxy類的對象並設置地址和端口。
- 使用 SmtpClient.Proxy 屬性設置客戶端的代理。
- 使用 SmtpClient.Send() 方法發送電子郵件。
以下代碼示例顯示如何使用 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 服務器的步驟。
- 創建 HttpProxy 類的實例並使用 IP 和端口號對其進行初始化。
- 創建並配置 SmtpClient 對象。
- 使用 SmtpClient.Proxy 屬性設置 HTTP 代理。
- 使用 SmtpClient.Send() 方法發送電子郵件。
以下代碼示例顯示瞭如何通過 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 的更多信息。