ارسال ایمیل به چند آدرس ایمیل با فایل ضمیمه در ASP.Net

در این پست خواهیم دید که چگونه یک ایمیل را به چند آدرس ایمیل به همراه فایل ضمیمه در ASP.NET ارسال کنیم.

ارسال ایمیل به چند آدرس ایمیل با فایل ضمیمه در ASP.Net

در ابتدا نیاز است که فرم خود را طراحی کرده و  کنترل ها را نام گذاری کنید.

 

کد

protected void btn_sendemail_Click(object sender, EventArgs e)
    {

        string to = Txt_toaddress.Text; //To address    
        string from = "Your Address Email"; //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"); //Gmail smtp    
        client.Credentials = new System.Net.NetworkCredential("Your Address Email", "Password");
        client.Port = 587;
        client.EnableSsl = true;
        client.Send(message);
       
    }
}

همچنین باید فضای نام های (namespace) زیر را به برنامه اضافه کنید.

using System.Net;  
using System.Net.Mail;  
using System.Text; 

ارسال به چند ایمیل آدرس

کدهای زیر کمک خواهند کرد تا آدرس ایمیل هایی که در TextBob وارد می کنیم با کاما "،" از یکدیگر جدا شوند.

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));  
 
}  

آپلود فایل

اگر بخواهیم از یک کنترل FileUpload چند فایل را انتخاب کنید، تنها کافیست ویژگی "AllowMultiple="true را اضافه کنیم. که این یکی از ویژگی های کنترل FileUpload در ASP می باشد.

<div>  
    <asp:FileUpload runat="server" ID="FileUpload2" AllowMultiple="true" />  
</div>

در انتها می توانید برنامه را اجرا کرده و نتیجه را ببینید.

 

 

در انتها دقت داشته باشیدکه اگر  SMTP Server Requires a Secure Connection برای ایمیل (جیمیل) شما فعال باشد، یک پیغام در ایمیل آدرس فرسنتده دریافت خواهید کردکه باید دسترسی را امکان پذیر کنید تا ایمیل ارسال شود.

فایل های ضمیمه