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 โดยใช้ เอกสารประกอบ