پروتکل انتقال نامه ساده (SMTP) رایج ترین پروتکل ایمیل مورد استفاده است که با ارسال پیام های ایمیل از برنامه های مشتری به سرور ایمیل سروکار دارد. در موارد مختلف، کلاینتهای ایمیل در برنامههای NET به منظور ارسال ایمیل از طریق SMTP پیادهسازی میشوند. برای چنین سناریوهایی، این مقاله نحوه اتصال برنامهنویسی به سرور SMTP با استفاده از C# را پوشش میدهد. علاوه بر این، نمونه کد نحوه ارسال ایمیل از طریق مشتری SMTP پس از برقراری اتصال را نشان می دهد.
C# API برای اتصال سرور SMTP
Aspose.Email for .NET یک API C# است که برای ایجاد برنامه های کاربردی کلاینت ایمیل قدرتمند طراحی شده است. 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 در سی شارپ
Aspose.Email از نسخه های 4، 4a و 5 پروتکل پروکسی SOCKS پشتیبانی می کند. مراحل زیر برای اتصال به سرور SMTP از طریق سرور پراکسی SOCKS با استفاده از Aspose.Email برای دات نت ارائه شده است.
- 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)"));
از طریق سرور پروکسی HTTP به سرور SMTP متصل شوید
مراحل زیر برای اتصال به سرور 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 برای داتنت استفاده کنید.
نتیجه
در این مقاله نحوه اتصال به سرور SMTP با استفاده از سی شارپ را یاد گرفتید. علاوه بر این، راهنمای گام به گام و نمونه کد نحوه اتصال به سرور SMTP از طریق سرورهای پراکسی SOCKS و HTTP را نشان داده است. می توانید با استفاده از Documentation درباره API ایمیل C# بیشتر کاوش کنید.