Loading…

جزیره برنامه نویسی و توسعه نرم افزار

ارسال کننده: حسین احمدی
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
ارسال پیام خصوصی
امتیازات این مطلب
نکته: برنامه نویسی شبکه (Network Programming) در سی شارپ :: پروتکل SMTP و ارسال ایمیل در سی شارپ
فضای نام دیگری که زیر مجموعه فضای نام System.Net است، System.Net.Mail می باشد. از این فضای نام برای ارسال ایمیل استفاده می شود. کافیست شما یک سرور SMTP فعال داشته باشید تا بتوانید عملیات ارسال ایمیل را بوسیله آن انجام دهید. کلاسی که برای ارسال ایمیل استفاده می شود کلاس SmtpClient است و همانطور که گفتیم این کلاس در فضای نام System.Net.Mail قرار دارد. ابتدا باید یک Instance از روی کلاس SmtpClient بسازید:

var smtpClient = new SmtpClient("mail.itpro.ir", 25);

برای ارسال ایمیل، باید تنظیمات مربوط به اعتبار سنجی ایمیل مورد نظر را مشخص کنید. این کار بوسیله خصوصیت Credentials در کلاس SmtpClient انجام می شود:

var smtpClient = new SmtpClient("mail.itpro.ir", 25);
smtpClient.Credentials = new NetworkCredential("{username}", "{password}");

بعد از اینکار باید پیام مورد نظر را تعریف کنید. اینکار بوسیله کلاس MailMessage انجام می شود:

var smtpClient = new SmtpClient("mail.itpro.ir", 25);
smtpClient.Credentials = new NetworkCredential("{username}", "{password}");
var message = new MailMessage("from@host.com", "to@host.com");

پارامتر اول سازنده MailMessage آدرس فرستنده که ایمیل خود شما می باشد و پارامتر دوم آدرس گیرنده است. پس از مشخص کردن این پارامتر ها باید عنوان و متن اصلی را مشخص کنید که این کار بوسیله خصوصیت های Subject و Body انجام می شود:

var smtpClient = new SmtpClient("mail.itpro.ir", 25);
smtpClient.Credentials = new NetworkCredential("{username}", "{password}");
var message = new MailMessage("from@host.com", "to@host.com");
message.Subject = "your email subject";
message.Body = "your email body";

پس از انجام کارهای گفته شده بوسیله متد Send در کلاس SmtpClient پیام ایجاد شده را ارسال می کنیم:

var smtpClient = new SmtpClient("mail.itpro.ir", 25);
smtpClient.Credentials = new NetworkCredential("{username}", "{password}");
var message = new MailMessage("from@host.com", "to@host.com");
message.Subject = "your email subject";
message.Body = "your email body";
smtpClient.Send(message);

کد بالا ساده ترین روش برای ارسال ایمیل می باشد. فرض کنید که قصد داریم تا محتویات اصلی ایمیل ما در قالب HTML ارسال شود، برای اینکار کافیست تو خصوصیت IsBodyHtml را برای MailMessage برابر True قرار داده و Body را در قالب HTML ست کنیم:

message.IsBodyHtml = true;
message.Body = "<html><body><h1>This is email title</h1><p>This is from ITPro.ir</p></body></html>";

اگر بخواهیم پیام را به چندین نفر ارسال کنیم، می توانیم به صورت زیر اینکار را انجام دهیم:

var message = new MailMessage();
message.From = new MailAddress("from@host.com");
message.To.Add("to1@host.com");
message.To.Add("to2@host.com");
message.To.Add("to3@host.com");

دقت کنید که در کد بالا به جای مشخص کردن گیرنده و فرستنده از طریق سازنده از خصوصیت های From و To استفاده کردیم. اگر بخواهیم برای پیام مورد نظر رونوشت مشخص کنیم، از خصوصیت CC استفاده می کنیم:

message.CC.Add("cc1@host.com");
message.CC.Add("cc2@host.com");

همچنین می توان برای پیام ارسالی ضمیمه مشخص کرد که اینکار به صورت زیر انجام می شود:

message.Attachments.Add(new Attachment("file1.zip", MediaTypeNames.Application.Zip));

نویسنده: حسین احمدی
منبع: ITpro
دیدگاه ها

هیچ دیدگاهی برای این مطلب ارسال نشده است

برای ارسال نظر وارد شوید.