majid_darab
پنج شنبه 03 شهریور 1390, 12:21 عصر
با سلام و احترام خدمت دوستان محترم :
در این فروم تاپیک های زیادی رو دیدم که در مورد ارسال ایمیل گروهی بحث می کردند.
اما اکثر اونها مربوط به زبان php می شدند و یا تاریخ آنها مربوط به مدت ها قبل بود و یا اینکه به صورت مقطعی به موضوع پرداخته بودند.
این تاپیک رو زدم تا با همیاری دوستان عزیز حق مطلب در مورد آن ادا شود و مرجع کاملی برای همه دوستان باشد.
سوالات من و به طبع آن سوالات اکثر دوستان در این زمینه به قرار زیرند :
1-
آیا برای ارسال ایمیل گروهی محدودیت وجود دارد ؟
اگر وجود دارد چه محدودیتی ؟
(الف : منظور سمت local و آی اس پی مورد استفاده)
و
(ب : سمت سرور -> آیا در این حالت امکان بلاک شدن آی پی سرور وجود دارد؟)
2-
بهترین کد و روش عملکرد برای ارسال ایمیل گروهی چیست ؟
به نحوی که ایمیل های ارسالی تماماً به inbox ارسال شوند...
من نمونه کدی که برای ارسال ایمیل تکی استفاده می کردم رو در زیر گذاشتم!
اگر مقدور است تغییرات لازم روی این کد اعمال گردد.
3-
نحوه بدست آوردن دیتابیسی کامل و به روز از ایمیل های ایرانیان چیست ؟
4-
آیا احتمال بلاک شدن ایمیل ارسال کننده وجود دارد و اینکه آیا جدای از سیستم سرور و لکال آیا ممکن است ایمیل ارسال کننده دارای محدودیت ارسال باشد؟
(چنانچه تاپیک و یا مرجع به روزی در مورد قوانین ارسال وجود دارد ، لطفاً معرفی نمایید)
(ایمیل اراسال کننده -> یاهو یا جی میل)
متدی که برای ارسال ایمیل تکی استفاده می کردم به صورت زیر بود :
private void SendEmail(string FromEmail, string FromExplain, string To, string Subject, string htmlEmailBody, string SenderEmail, string SenderPassword)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(FromEmail, FromExplain, System.Text.Encoding.UTF8);
mail.To.Add(To);
mail.To.Add("bla bla bla");
mail.To.Add("bla bla bla");
mail.To.Add("bla bla bla");
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Subject = Subject;
//mail.BodyFormat = MailFormat.Html; -> This Is For .Net 1.1
mail.IsBodyHtml = true;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.Body = htmlEmailBody;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(SenderEmail, SenderPassword);
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
//smtp.Port = 25;
smtp.Timeout = 18000000;
try
{
smtp.Send(mail);
//Response.Write("ارسال با موفّقیّت انجام شد.");
Page.ClientScript.RegisterStartupScript(this.GetTy pe(), "EmailSuccessfully", "EmailSuccessfully();", true);
}
catch (System.Net.Mail.SmtpException exp)
{
//Response.Write(exp.ToString());
Page.ClientScript.RegisterStartupScript(this.GetTy pe(), "EmailFailed", "EmailFailed();", true);
}
}
حال فرض کنیم آدرس های مزبور برای ارسال در دیتابیس قرار دارند...
5-آیا برای ارسال ایمیل به این آدرس ها بهتر است از حلقه for استفاده نماییم و یا اینکه از قسمت های bcc و cc کد مورد نظر استفاده کنیم ؟
(آیا برای این قسمتها محدودیت وجود ندارد)
تعداد ایمیل ارسالی = فرضاً یک میلیون در روز
با تشکر از حسن توجّه شما
مجید داراب
در این فروم تاپیک های زیادی رو دیدم که در مورد ارسال ایمیل گروهی بحث می کردند.
اما اکثر اونها مربوط به زبان php می شدند و یا تاریخ آنها مربوط به مدت ها قبل بود و یا اینکه به صورت مقطعی به موضوع پرداخته بودند.
این تاپیک رو زدم تا با همیاری دوستان عزیز حق مطلب در مورد آن ادا شود و مرجع کاملی برای همه دوستان باشد.
سوالات من و به طبع آن سوالات اکثر دوستان در این زمینه به قرار زیرند :
1-
آیا برای ارسال ایمیل گروهی محدودیت وجود دارد ؟
اگر وجود دارد چه محدودیتی ؟
(الف : منظور سمت local و آی اس پی مورد استفاده)
و
(ب : سمت سرور -> آیا در این حالت امکان بلاک شدن آی پی سرور وجود دارد؟)
2-
بهترین کد و روش عملکرد برای ارسال ایمیل گروهی چیست ؟
به نحوی که ایمیل های ارسالی تماماً به inbox ارسال شوند...
من نمونه کدی که برای ارسال ایمیل تکی استفاده می کردم رو در زیر گذاشتم!
اگر مقدور است تغییرات لازم روی این کد اعمال گردد.
3-
نحوه بدست آوردن دیتابیسی کامل و به روز از ایمیل های ایرانیان چیست ؟
4-
آیا احتمال بلاک شدن ایمیل ارسال کننده وجود دارد و اینکه آیا جدای از سیستم سرور و لکال آیا ممکن است ایمیل ارسال کننده دارای محدودیت ارسال باشد؟
(چنانچه تاپیک و یا مرجع به روزی در مورد قوانین ارسال وجود دارد ، لطفاً معرفی نمایید)
(ایمیل اراسال کننده -> یاهو یا جی میل)
متدی که برای ارسال ایمیل تکی استفاده می کردم به صورت زیر بود :
private void SendEmail(string FromEmail, string FromExplain, string To, string Subject, string htmlEmailBody, string SenderEmail, string SenderPassword)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(FromEmail, FromExplain, System.Text.Encoding.UTF8);
mail.To.Add(To);
mail.To.Add("bla bla bla");
mail.To.Add("bla bla bla");
mail.To.Add("bla bla bla");
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Subject = Subject;
//mail.BodyFormat = MailFormat.Html; -> This Is For .Net 1.1
mail.IsBodyHtml = true;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.Body = htmlEmailBody;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(SenderEmail, SenderPassword);
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
//smtp.Port = 25;
smtp.Timeout = 18000000;
try
{
smtp.Send(mail);
//Response.Write("ارسال با موفّقیّت انجام شد.");
Page.ClientScript.RegisterStartupScript(this.GetTy pe(), "EmailSuccessfully", "EmailSuccessfully();", true);
}
catch (System.Net.Mail.SmtpException exp)
{
//Response.Write(exp.ToString());
Page.ClientScript.RegisterStartupScript(this.GetTy pe(), "EmailFailed", "EmailFailed();", true);
}
}
حال فرض کنیم آدرس های مزبور برای ارسال در دیتابیس قرار دارند...
5-آیا برای ارسال ایمیل به این آدرس ها بهتر است از حلقه for استفاده نماییم و یا اینکه از قسمت های bcc و cc کد مورد نظر استفاده کنیم ؟
(آیا برای این قسمتها محدودیت وجود ندارد)
تعداد ایمیل ارسالی = فرضاً یک میلیون در روز
با تشکر از حسن توجّه شما
مجید داراب