Kết nối với Máy chủ SMTP bằng C#

Giao thức truyền thư đơn giản(SMTP) là giao thức email được sử dụng phổ biến nhất để xử lý việc gửi thư email từ các ứng dụng khách đến máy chủ email. Trong các trường hợp khác nhau, ứng dụng email được triển khai trong các ứng dụng .NET để gửi email qua SMTP. Đối với các trường hợp như vậy, bài viết này trình bày cách kết nối với máy chủ SMTP theo chương trình bằng C#. Hơn nữa, các mẫu mã chứng minh cách gửi email qua ứng dụng khách SMTP sau khi thiết lập kết nối.

API C# để kết nối máy chủ SMTP

Aspose.Email for .NET là một API C# được thiết kế để tạo các ứng dụng email client mạnh mẽ. API giúp bạn có thể thực hiện các hoạt động email phức tạp một cách khá dễ dàng chỉ trong một vài dòng mã. Hơn nữa, nó cho phép bạn kết nối các máy chủ SMTP thông qua các máy chủ proxy SOCKS và HTTP. Bạn có thể tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Email

Kết nối với Máy chủ SMTP bằng C#

Trước khi kết nối với máy chủ SMTP, bạn cần biết những điều sau.

  • tên tài khoản
  • Mật khẩu
  • Hải cảng

Sau khi có chúng, bạn có thể định cấu hình ứng dụng khách SMTP bằng các bước sau.

Mẫu mã sau đây cho biết cách thiết lập API cho kết nối SMTP trong C#.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Đặt tên người dùng, mật khẩu, cổng và các tùy chọn bảo mật
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Khi bạn đã định cấu hình API, bạn có thể kết nối với máy chủ SMTP bằng một trong các tùy chọn sau.

Kết nối với SMTP qua SOCKS Proxy Server trong C#

Aspose.Email cung cấp hỗ trợ cho các phiên bản 4, 4a và 5 của giao thức proxy SOCKS. Sau đây là các bước để kết nối với máy chủ SMTP qua máy chủ proxy SOCKS bằng Aspose.Email for .NET.

  • Khởi tạo SmtpClient bằng địa chỉ máy chủ, tên người dùng, mật khẩu và các cài đặt khác.
  • Tạo một đối tượng của lớp SocksProxy và đặt địa chỉ và cổng.
  • Đặt proxy của máy khách bằng thuộc tính SmtpClient.Proxy.
  • Gửi email bằng phương thức SmtpClient.Send().

Mẫu mã sau đây cho thấy cách kết nối với máy chủ SMTP qua proxy SOCKS bằng C#.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập 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)"));

Kết nối với Máy chủ SMTP qua Máy chủ proxy HTTP

Sau đây là các bước để kết nối với máy chủ SMTP thông qua máy chủ proxy HTTP.

Mẫu mã sau đây cho thấy cách kết nối với máy chủ SMTP qua máy chủ proxy HTTP.

// Để có các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập 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)"));
}

Nhận giấy phép API miễn phí

Bạn có thể thử và sử dụng Aspose.Email for .NET miễn phí bằng cách nhận giấy phép tạm thời.

Sự kết luận

Trong bài viết này, bạn đã học cách kết nối với máy chủ SMTP bằng C#. Hơn nữa, hướng dẫn từng bước và các mẫu mã đã chỉ ra cách kết nối với máy chủ SMTP thông qua máy chủ proxy SOCKS và HTTP. Bạn có thể khám phá thêm về API email C# bằng cách sử dụng tài liệu.

Xem thêm