نمونه سورس های آماده سی شارپ (قسمت اول – ارسال ایمیل)
در قسمت اول از مجموعه نمونه سورس های آماده سی شارپ ، می خوایم یک برنامه ی ارسال ایمیل طراحی کنیم.
سورس برنامه در انتهای همین پست برای دانلود قرار داده شده است.
جزئیاتی که می خوایم برنامه مون داشته باشه عبارت اند از:
- دریافت اطلاعات ورودی (آدرس ایمیل و پسورد فرستنده، آدرس ایمیل گیرنده، عنوان، متن اصلی، فایل الحاقی).
- تغییرات جزئی در فونت و رنگ متن در قسمت متن ارسالی.
- امکان الحاق یک فایل به ایمیل.
- بازنشانی گزینه ها جهت ارسال ایمیل جدید.
ابتدا اشیاء مورد نظر را طبق تصویر زیر، روی فرم بچینید.
سپس به سراغ کد تک تک اشیاء برید و کدهای مناسب رو براشون بنویسید.
به دلیل اینکه کدها در داخل سورس هست، فقط به توضیح مختصر در مورد کدهای دکمه ی ارسال اکتفا می کنیم:
قبل از هر کاری باید چک کنیم که آیا فیلدها پر شده اند یا نه.
دستور شرطی خط اول رو می نویسیم و تمامی کدهای بعدی داخل اون دستور خواهند بود تا به دستور Else برسیم.;
در خطهای بعدی، به ترتیب، سرور ارسالی (در اینجا سرویس جیمیل) و شماره پورت رو تعیین کرده ایم.
خط سوم مربوط به تعریف متغیری در رابطه با سرویس SSL که مربوط به ایمنی داده های ارسالیست میباشد.
در خطهای بعدی متغیرهایی از نوع رشته برای نگهداری جزئیات ایمیل تعریف شده است.
بعد یک متغیر از نوع MailMessage جهت یکپارچه سازی جزئیات و استفاده برای ارسال تعریف کنید.
و در خطهای بعدی جزئیات رو به ترتیب، به متغیر Mail اضافه کرده ایم.
در ادامه طبق تصویر بالا، متغیری که قبلا از نوع DialogResult تعریف کرده ایم و نتیجه الحاق فایل رو در اون نگه داشته ایم رو چک میکنیم.
اگر OK بود که فایلی انتخاب شده و دستورات مربوط به ساختار شرطی IF، که اضافه کردن فایل به متغیر Mail است، اجرا میشود.
در کد بالا انکودینگ متن ارسالی در متغیر Mail را UTF8 تعیین می کنیم که زبان فراسی هم پشتیبانی شود.
متغیری از نوع پروتکل SMTP تعریف و پارامترهای پروتکل ارسالی و شماره پورت رو بهش معرفی کرده ایم.
سپس در داخل ساختار شرطی try و catch اقدام به ارسال ایمیل و مدیریت خطاهای احتمالی نموده ایم.
به این صورت که اگر ایمیل ارسال شد پیغام مناسب نمایش دهد. اگر به هر دلیلی ارسال نشد، پیغام خطا صادر کند.
دستور IF خاتمه یافته و با else پیغام مناسب برای پر کردن اونها رو به کاربر نشان می دیم.
مهمترین بخش برنامه همین کدها بودند ولی یک سری نکات رو هم خدمتتون عرض می کنم:
متغیری که از نوع DialogResult تعریف میکنید حتما Public باشه و در همه جای برنامه بتونیم باهاش کار کنیم.
طبق کدهای زیر، برای طراحی دکمه “ایمیل جدید” مطمئن شوید تمام اطلاعات فیلدها، فایلی که در OpenFileDialog باز شده و همچنین متغیر نوع DialogResult بازنشانی شوند.
در نمونه سورس های آماده سی شارپ بعدی هم مطالب کاربردی زبان سی شارپ رو خدمتتون معرفی خواهیم نمود.