ارسال ایمیل همراه با فایل ضمیمه و در قالب html با Asp.Net
0 0

ارسال ایمیل همراه با فایل ضمیمه و در قالب html با Asp.Net


ارسال ایمیل همراه با فایل ضمیمه و در قالب html با Asp.Net

برای ارسال ایمیل در ASP.NET ما اول از همه باید فضای های نام مورد نظر رو برای استفاده از کلاس های مربوطه فراخوانی کنیم.

System.Net.Mail

این فضای نام تمام کلاس های لازم برای ارسال ایمیل رو در اختیار ما قرار میده،پس همون بالای صفحه جدید که ایجد می کنید این فضای نام رو با دستور زیر اضافه کنید

using System.Net.Mail;

خوب برای مرحله بعد لازمه که از کلاس MailMessage که کلاس اصلی کار ما هست یه نمونه بسازیم و خاصیت های لازم رو تنظیم کنیم.

MailMessage mail = new MailMessage();

خوب حالا توی اون دکمه ای که ایمیل رو برای ما ارسال میکنه این کد ها رو قرار میدیم.

mail.To.Add(txtto.Text.Trim());
mail.From = new MailAddress(txtfrom.Text.Trim());
mail.Subject = txtsubject.Text.Trim();
mail.Body = txtbody.Text.Trim();
mail.IsBodyHtml = true;

من یه سری تکست باکس روی فرم قرار دادم واز اونا برای دریافت مشخصات ایمیل ارسالی استفاده کردم،توی خط اول خاصیت To رو مقدار دهی کردیم که قراره ایمیل به چه کسی ارسال بشه (من مقدار تکست باکسی با نام txtto رو براش تنظیم کردم)،توی خط بعدی هم خاصیت From که مشخص میکنه ایمیل از طرف چه کسی ارسال میشه رو مشخص کردیم،توی خط بعدی موضوع ایمیل و خط بعدش هم متن و محتوای ایمیل رو با استفاده از همون کنترل های خود ASP دریافت کردیم.برای ارسال ایمیل هایی با نوع محتوای HTML حتما باید اون گزینه IsBodyHtml رو برابر true قرار بدید.

 

اضافه کردن فایل با قالب html

در این روش ما یک فایل HTML ایجاد می کنیم ، فرم مورد نظرمان را در آن ایجاد می نماییم که باید بعد از تگ body از تگ form استفاد کنیم که خاصیت runat=server باشد.

کدقبلی به صورت زیر اصلاح می کنیم

ابتدا شما باید مسیر فایل html را مشخص کرده که ما در اینجا فایل html را در کنار آن قرار دادیم

در نظر داشته باشید که باید using System.IO را فعال کرده باشید.

StreamReader sr = 
  new StreamReader(Server.MapPath("html.html"));
string Body = sr.ReadToEnd();
sr.Close();
mail.Body =Body ;
mail.IsBodyHtml = true;

 

اضافه کردن فایل ضمیمه

خوب برای اضافه کردن فایل ضمیمه، اول از همه یک کنترل FileUpload به صفحه اضافه میکنیم (من اینجا اسمشو گذاشتم uploader) و این کد رو براش می نویسیم.

if (uploader.HasFile)
{
string filename = uploader.PostedFile.FileName;
string filepath=Server.MapPath("uploads//"+filename);
uploader.SaveAs(filepath);
Attachment attach = new Attachment(filepath);
attach.TransferEncoding = 
                System.Net.Mime.TransferEncoding.Base64;
mail.Attachments.Add(attach);
}

با یه شرط چک می کنیم ببینیم فایلی ارسال شده یا نه،اگه جواب مثبت بود،میریم سراغ کد بعدی،خوب اسم فایل ارسالی رو دریافت کردیم،با Server.MapPath مسیر فیزیکی ریشه سایت رو مشخص کردیم و آدرس رو تعیین کردیم،حالا فایل رو توی همون آدرس ذخیره میکنیم.

با استفاده از کلاس Attachment می تونیم به ایمیل فایل ضمیمه کنیم،خوب از این کلاس یه نمونه می سازیم و آدرسی رو که ساختیم به عنوان پارامتر براش میفرستیم،برای انتقال فایل لازمه محتوای فایل اینکد بشه بنابر این خاصیت transferEncoding شی attach رو با مقدار مناسبش مقدار دهی کردیم(باید Base64 باشه که از همون کلاس و فضای نام Net و کلاس Mime قابل دسترسه) خوب بعدشم با استفاده از متد Add فایل attach رو به شی email خودمون اضافه میکنیم.(یادتون باشه اگه این ارسال ایمیل در دسترس کاربران قرار داره حتما فایل رو اعتبار سنجی کنید)

برای ارسال ایمیل توی سرویس smtp می تونیم از کلاس SmtpClient دات نت استفاده کنیم که کار باهاش خیلی راحته،خوب پس یه نمونه ازش میسازیم.

SmtpClient client = new SmtpClient();

خوب حالا خاصیت های این شی رو تنظیم و در نهایت ایمیل رو ارسال میکنیم.

client.Host = "mail.yourdomain.com";
client.Credentials =
  new System.Net.NetworkCredential
  ("email username=info@yourdomain.com", "email passowrd");
client.Send(mail);

اول از همه هاست رو تنظیم کردیم و در خط بعدی هم نام کاربری و کلمه عبور سرویس ایمیل رو تنظیم کردیم و در نهایت هم ایمیل رو ارسال کردیم،من توی کد ها یه label هم قرار دادم که پیغام های ارسال موفق و خطاها رو چاپ میکنه که این جا توی کد اموزش قرارش ندادم.(هاست، نام کاربری و کلمه عبور رو میتونید از پشتیبانی یا بخش تنظیمات هاست خودتون دریافت کنید)

دانلود

نویسنده حسین فتحی
گروه مطلب Asp.Net
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۴ دی ۱۳۹۲
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران عضو سایت
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha