سورس کد برای ارسال ایمیل در محیط سی‌شارپ (C#) با استفاده از SMTP


در دنیای امروز، ارسال ایمیل یکی از رایج‌ترین و مهم‌ترین نیازهای برنامه‌نویسان و توسعه‌دهندگان نرم‌افزار است. فرض کنید قصد دارید برنامه‌ای بنویسید که به صورت خودکار ایمیل‌های مختلفی را ارسال کند؛ چه برای ارسال گزارش‌ها، اطلاعیه‌ها، یا تاییدیه‌های کاربر. زبان سی‌شارپ (C#) به عنوان یکی از زبان‌های پرکاربرد و قدرتمند در زمینه برنامه‌نویسی، امکانات فراوانی برای انجام این کار دارد، و یکی از این امکانات، استفاده از SMTP (پروتکل ارسال ایمیل ساده) است.
در ادامه، قصد دارم به صورت کامل و جامع به نحوه نوشتن سورس کد برای ارسال ایمیل در محیط سی‌شارپ، با تمرکز بر استفاده از SMTP، بپردازم. این مطلب شامل توضیحات مفصل درباره مفاهیم پایه، نمونه کد، نکات مهم و راهنمایی‌های کاربردی است، تا بتوانید به راحتی در پروژه‌های خود از این قابلیت بهره‌مند شوید.

مفاهیم پایه و اصول اولیه ارسال ایمیل با C#




قبل از شروع، باید بدانید که برای ارسال ایمیل در سی‌شارپ، از کلاس‌های موجود در فضای نام `System.Net.Mail` استفاده می‌شود. این فضا، امکانات مختلفی را برای ساخت، پیکربندی و ارسال ایمیل فراهم می‌کند. مهم‌ترین کلاس در این زمینه، `SmtpClient` است که نقش سرور SMTP را بر عهده دارد و وظیفه ارسال ایمیل را بر عهده می‌گیرد. همچنین، کلاس `MailMessage` برای ساخت ایمیل و تعریف محتوای آن کاربرد دارد.
در کنار این‌ها، باید توجه داشت که برای ارسال ایمیل، نیاز به اطلاعات سرور SMTP دارید. این اطلاعات معمولاً شامل آدرس سرور، پورت، و در اکثر موارد، نام کاربری و رمز عبور است. در ادامه، نمونه کد کامل و توضیحات مربوط به آن را مشاهده می‌کنید.

نکات مهم در ارسال ایمیل




- پورت سرور SMTP: پورت‌های رایج شامل 25، 465 و 587 هستند. پورت 25 بیشتر برای سرورهای داخلی است، در حالی که پورت 465 برای SSL و پورت 587 برای STARTTLS استفاده می‌شود.

- امنیت: در اکثر موارد، باید از ارتباط امن (SSL یا TLS) استفاده کنید تا اطلاعات حساس در مسیر انتقال محافظت شوند.

- احراز هویت: سرورهای SMTP اغلب نیازمند نام کاربری و رمز عبور هستند؛ بنابراین، در کد خود آنها را وارد کنید.

- محتوا و فرمت ایمیل: می‌توانید ایمیل‌های متنی یا HTML بسازید، و حتی فایل‌های پیوست را هم اضافه کنید.

- محدودیت‌های سرور: بعضی سرورها محدودیت‌هایی در تعداد ایمیل‌های ارسالی دارند، پس در صورت نیاز، این موارد را در نظر بگیرید.

نمونه کد کامل ارسال ایمیل در C#




در ادامه، نمونه کد کامل و عملیاتی برای ارسال ایمیل آورده شده است. این کد، قابلیت تنظیم موضوع، متن، گیرنده‌ها، فایل‌های پیوست و همچنین استفاده از SSL را دارا می‌باشد.
csharp  

using System;

using System.Net;

using System.Net.Mail;
class Program

{

static void Main()

{

try

{

// تعریف اطلاعات سرور SMTP

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587) // آدرس سرور و پورت

{

EnableSsl = true, // فعال کردن ارتباط امن

Credentials = new NetworkCredential("your_email@gmail.com", "your_password") // احراز هویت

};
// ساخت ایمیل جدید

MailMessage mailMessage = new MailMessage()

{

From = new MailAddress("your_email@gmail.com", "Your Name"), // فرستنده

Subject = "آزمایش ارسال ایمیل در C#", // موضوع ایمیل

Body = "<h1>سلام!</h1><p>این یک ایمیل آ... ← ادامه مطلب در magicfile.ir