เชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ C#

Simple Mail Transfer Protocol (SMTP) เป็นโปรโตคอลอีเมลที่ใช้บ่อยที่สุดซึ่งเกี่ยวข้องกับการส่งข้อความอีเมลจากแอปพลิเคชันไคลเอ็นต์ไปยังเซิร์ฟเวอร์อีเมล ในหลายกรณี อีเมลไคลเอ็นต์จะถูกนำไปใช้ภายในแอปพลิเคชัน .NET เพื่อส่งอีเมลผ่าน SMTP สำหรับสถานการณ์ดังกล่าว บทความนี้ครอบคลุมวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยทางโปรแกรมโดยใช้ C# นอกจากนี้ ตัวอย่างโค้ดยังแสดงวิธีการส่งอีเมลผ่านไคลเอนต์ SMTP หลังจากสร้างการเชื่อมต่อ

C# API เพื่อเชื่อมต่อเซิร์ฟเวอร์ SMTP

Aspose.Email for .NET เป็น C# API ที่ออกแบบมาเพื่อสร้างแอปพลิเคชันอีเมลไคลเอนต์ที่มีประสิทธิภาพ API ทำให้สามารถดำเนินการกับอีเมลที่ซับซ้อนได้ค่อนข้างง่ายภายในโค้ดไม่กี่บรรทัด นอกจากนี้ยังช่วยให้คุณเชื่อมต่อเซิร์ฟเวอร์ SMTP ผ่านเซิร์ฟเวอร์พร็อกซี SOCKS และ HTTP คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Email

เชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ C#

ก่อนเชื่อมต่อกับเซิร์ฟเวอร์ SMTP คุณต้องทราบสิ่งต่อไปนี้

  • ชื่อผู้ใช้
  • รหัสผ่าน
  • ท่าเรือ

เมื่อคุณมีแล้ว คุณสามารถกำหนดค่าไคลเอนต์ SMTP โดยใช้ขั้นตอนต่อไปนี้

  • สร้างวัตถุของคลาส SmtpClient
  • ตั้งชื่อผู้ใช้ รหัสผ่าน และหมายเลขพอร์ตโดยใช้คุณสมบัติ SmtpClient.Username, SmtpClient.Password และ SmtpClient.Port ตามลำดับ
  • ตั้งค่าตัวเลือกความปลอดภัยโดยใช้คุณสมบัติ SmtpClient.SecurityOptions

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่า API สำหรับการเชื่อมต่อ SMTP ใน C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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 โดยใช้หนึ่งในตัวเลือกต่อไปนี้

เชื่อมต่อกับ SMTP ผ่าน SOCKS Proxy Server ใน C#

Aspose.Email ให้การสนับสนุนเวอร์ชัน 4, 4a และ 5 ของโปรโตคอลพร็อกซี SOCKS ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซีเซิร์ฟเวอร์ SOCKS โดยใช้ Aspose.Email for .NET

  • เริ่มต้น SmtpClient ด้วยที่อยู่โฮสต์ ชื่อผู้ใช้ รหัสผ่าน และการตั้งค่าอื่นๆ
  • สร้างวัตถุของคลาส SocksProxy และตั้งค่าที่อยู่และพอร์ต
  • ตั้งค่าพร็อกซีของไคลเอ็นต์โดยใช้คุณสมบัติ SmtpClient.Proxy
  • ส่งอีเมลโดยใช้เมธอด SmtpClient.Send()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซี SOCKS โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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)"));

เชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่าน HTTP Proxy Server

ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซีเซิร์ฟเวอร์ HTTP

  • สร้างอินสแตนซ์ของคลาส HttpProxy และเริ่มต้นด้วย IP และหมายเลขพอร์ต
  • สร้างและกำหนดค่าวัตถุ SmtpClient
  • ตั้งค่าพร็อกซี HTTP โดยใช้คุณสมบัติ SmtpClient.Proxy
  • ส่งอีเมลโดยใช้เมธอด SmtpClient.Send()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านพร็อกซีเซิร์ฟเวอร์ HTTP

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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 ได้ฟรีโดย ขอรับใบอนุญาตชั่วคราว

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ C# นอกจากนี้ คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดยังแสดงวิธีเชื่อมต่อกับเซิร์ฟเวอร์ SMTP ผ่านเซิร์ฟเวอร์พร็อกซี SOCKS และ HTTP คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ C# email API โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย