آموزش ارسال ایمیل انبوه با فایل ضمیمه در Asp.Net
آموزش ارسال ایمیل انبوه با فایل ضمیمه در Asp.Net
در این پست می خواهیم نحوه ارسال ایمیل به چندین آدرس ایمیل با فایل ضمیمه با استفاده از ASP.NET با C#.Net را آموزش دهیم.
در وب سایت ها حتما نیاز به ارسال ایمیل در قسمت های مختلف نیاز خواهد شد. گاهی برای خبرنامه ها گاهی برای پاسخ دهی به تماس ها و ... در asp هم ارسال ایمیل به روش های مختلفی پیاده سازی میشود. امروز میخواهیم نمونه ای را برای پیاده سازی ارسال ایمیل انبوه همراه با فایل ضمیمه را آموزش دهیم.
ابتدا یک پروژه با نام Iranganj_Email را از نوع asp.net ایجاد میکنیم.
سپس یک فرمی به شکل زیر و بانام Send_Email ایجاد میکنیم.
در سمت کلاینت سرور فضای نام های زیر را اضافه میکنیم.
using System.Net.Mail; using System.Text; using System.IO;
سپس در کد دکمه باتن برای ارسال به صورت زیرکدنویسی میکینم.
protected void btn_sendemail_Click(object sender, EventArgs e) { string to = Txt_toaddress.Text; //To address string from = "fromaddress"; //From address string[] Multiple = to.Split(','); MailMessage message = new MailMessage(); message.From = new MailAddress(from); foreach (string multiple_email in Multiple) { message.To.Add(new MailAddress(multiple_email)); } if (FileUpload2.HasFile)//Attaching document { string FileName = Path.GetFileName(FileUpload2.PostedFile.FileName); message.Attachments.Add(new Attachment(FileUpload2.PostedFile.InputStream, FileName)); } string mailbody = Txt_Bodycontent.Text; message.Subject = Txt_Subject.Text; message.Body = mailbody; message.BodyEncoding = Encoding.UTF8; message.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); //Gmail smtp System.Net.NetworkCredential basicCredential1 = new System.Net.NetworkCredential("fromaddress ", "fromaddress password"); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = basicCredential1; try { client.Send(message); } catch (Exception ex) { throw ex; } }
نکته : برای آدرس ایمیل از حلقه استفاده کردیم که امکان انبوه شدن را میدهد
foreach (string multiple_email in Multiple) { message.To.Add(new MailAddress(multiple_email)); }
و برای فایل ضمیه هم ابتدا با شرط IF چک میکند در صورت موجود بودن فایل , نام فایل را دریافت و بار گذاری میکند .
if (FileUpload2.HasFile)//Attaching document { string FileName = Path.GetFileName(FileUpload2.PostedFile.FileName); message.Attachments.Add(new Attachment(FileUpload2.PostedFile.InputStream, FileName)); }
در این آموزش برای SmtpClient از جیمیل استفاده شده است.
در قسمت های زیر باید به جای فرم آدرس آدرس جیمیل موردنظر و در قسمت پسورد کلمه عبور جیمیل مورد نظر را بنویسید.
string from = "fromaddress"; System.Net.NetworkCredential("fromaddress ", " password");
حاصل کار به صورت زیر خواهد بود :
نظر / سوال