PDA

View Full Version : ارسال خبرنامه از طریق ایمیل



majnun
یک شنبه 04 مهر 1389, 17:52 عصر
سلام دوستان

من میخوام لینک جدیدترین مطالبم یا یه متن خاض رو به همه کاربرهام که عضو سایت هستن ایمیل بدم

ممنون میشم کد ارسال ایمیل ار طربق سایت رو بهم بدین

گشتم تو سایت چیزی که من میخوام نبود

کدی پیدا نکردم

ممنون میشم

reza6966
یک شنبه 04 مهر 1389, 17:56 عصر
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential
("Your_Gmail_Account@gmail.com", "Your_Gmail_Password");
mail.To.Add("To_Address");
mail.Subject = "This is a test mail message";
mail.From =
new System.Net.Mail.MailAddress(Your_Gmail_Account@gma il.com);
mail.IsBodyHtml = true;mail.Body = "This is a test mail message";
System.Net.Mail.SmtpClient smtp = new
System.Net.Mail.SmtpClient("smtp.gmail.com");
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = cred;smtp.Port = 587;
smtp.Send(mail);

reza6966
یک شنبه 04 مهر 1389, 17:57 عصر
MailMessage msg = new MailMessage();
msg.From = new MailAddress("ali@MyCompany.com");
msg.To.Add("ali@MyCompany.com");
msg.Subject = "for test";
msg.Body = "this is for test";
SmtpClient smtp = new SmtpClient("mail.MyCompany.com", 25);
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("ali@MyCompany.com", "MyPassword");
try
{
smtp.Send(msg);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

reza6966
یک شنبه 04 مهر 1389, 18:01 عصر
اضافه کرده header های دلخواه به ایمیل:

آیا تا به حال به هدر هایی که همراه با ایمیلی که برای شما ارسال میگردد دقت کرده اید؟
این هدرها دارای اطلاعات جالب و مفیدی از ارسال کننده ایمیل میباشند
برخی از این هدر ها ثابت و برخی دیگر به وسیله فرستنده قابل تغییر میباشند
حتی شما قادر خواهید بود اطلاعات دلخواه خود را در هدر ایمیل های ارسالی قرار دهید
برای اضافه کردن هدر به ایمیل از کلاس MailMessage استفاده میکنیم

مثالی از نحوه استفاده از این ویژگی:


[C#‎]

MailMessage mail = new MailMessage();

mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");

mail.Subject = "This is an email";
mail.Body = "this is the body content of the email.";

mail.Headers.Add("Company", "My Company");
mail.Headers.Add("Location", "Iran");

SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);

reza6966
یک شنبه 04 مهر 1389, 18:03 عصر
کلاس Attachment:

از این کلاس جهت ساخت و مدیریت ضمائم متعلق به یک شی MailMessage استفاده میشود
ضمیمه میتواند آدرس یک فایل یا یک Stream باشد.این قابلیت باعث میشود ما بتوانیم هر نوع داده ای را به ایمیل خود ضمیمه کنیم
توضیحات تکمیلی در
http://msdn2.microsoft.com/en-us/lib...ttachment.aspx (http://msdn2.microsoft.com/en-us/library/system.net.mail.attachment.aspx)

مثالی از نحوه استفاده از این کلاس:


[C#‎]

mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");
mail.Subject = "This is an email";
mail.Body = "this content is in the body";
mail.Attachments.Add(new Attachment("c:\\temp\\example.txt"));
mail.Attachments.Add(new Attachment("c:\\temp\\example2.txt"));
mail.Attachments.Add(new Attachment("c:\\temp\\example3.txt"));

reza6966
یک شنبه 04 مهر 1389, 18:04 عصر
کلاس MailAddress:


از این کلاس برای ساختن آدرسایمیلاستفاده میشود
از این کلاس میتوان در ویژگیهای(Properties) :



MailMessage.From


MailMessage.To


MailMessage.CC


MailMessage.BCC



استفادهکرد
از بین این ویژگی ها ،ویژگی .From یکایمیلحقیقی است(یعنی یکایمیلرا به عنوان فرستنده میتوانمعرفی کرد)
اما سایر ویژگی ها، کلکسیونی ازایمیلها را دریافت میکنند
برخی از ویژگی های(Properties) کلاس MailAddress به شرح زیرمیباشند



توضیحات تکمیلیدر
http://msdn2.microsoft.com/en-us/lib...iladdress.aspx (http://msdn2.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx)


مثالیاز نحوه استفاده از این کلاس:


[C#‎‎]

MailMessage mail = new MailMessage();

mail.From = new MailAddress("me@mycompany.com", "Steve James");

mail.To.Add("you@yourcompany.com");
mail.To.Add("you2@yourcompany.com");

mail.CC.Add("cc1@yourcompany.com");
mail.CC.Add("cc2@yourcompany.com");

mail.Bcc.Add("blindcc1@yourcompany.com");
mail.Bcc.Add("blindcc2@yourcompany.com");

mail.Subject = "This is an email";
mail.Body = "this is the body content of the email.";




این نکات در کدبالا قابل توجه است که:


1. اگر بخواهیم گیرندهایمیلوقتیایمیلرا دریافتمیکند به جای آدرس ایمیل، نام تعیین شده توسط ما برای آن نمایش داده شود به صورتزیر عمل میکنیم



mail.From = new MailAddress("me@mycompany.com", "Steve James")




2. اگر بخواهیم نام فرستنده به صورت فارسی یا هر زبان دیگر نمایش داده شود به صورت زیرعمل میکنیم


mail.From = new MailAddress("me@mycompany.com", "فارسی",System.Text.Encoding.GetEncoding("windows-1256"))



3. از روش ذکر شده بالا میتوانید برای ویژگیهای To,Bcc,CC نیز استفاده کنید

4. چون ویژگیهای To,Bcc,CC میتوانند کلکسیونی از ایمیل ها را دریافت کنند میتوانید با فراخوانی مکرر تابع ADD ایمیل های فراوانی را به آنها اضافه کنید


آیا میدانید تفاوت Toو BCC و CC در چیست؟

To به معنای گیرنده اصلی ایمیل میباشد
CC مخفف Carbon Copy میباشد و زمانی از آن استفاده میشود که بخواهیم یک کپی از ایمیل را برای شخص دیگری بفرستیم
Bcc مخفف Blind Carbon Copy میباشد.و زمانی از آن استفاده میشود که بخواهیم یک کپی از ایمیل را برای شخصی بفرستیم،به صورتی که CC و To متوجه ارسال ایمیل برای شخص سوم نشوند
اما BCC متوجه ارسال ایمیل به To و BCC خواهد شد

ramin149
یک شنبه 04 مهر 1389, 18:08 عصر
این هم آموزشی برای فرستادن ایمیل
http://barnamenevis.org/forum/showthread.php?t=71785&highlight=email

reza6966
یک شنبه 04 مهر 1389, 18:10 عصر
کلاس MailMessage:

کلاس MailMessage ساخت و مدیریت پیغام ایمیل را تامین میکند
سایر کلاسها به نوعی با این کلاس در ارتباط هستند
برخی از ویژگی های(Properties) کلاس MailMessage به شرح زیر میباشند





توضیحات تکمیلی در
http://msdn2.microsoft.com/en-us/lib...ilmessage.aspx (http://msdn2.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx)


مثالی از نحوه استفاده از این کلاس:


[C#‎]

MailMessage mail = new MailMessage();
mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");
mail.Subject = "This is an email";
mail.Body = "this is the body content of the email.";




این نکته در کد بالا قابل توجه است که:
به این نوع ایمیل که بدنه(Body) آن شامل متن ساده است در اصطلاح Plain Text گفته میشود
اما بدنه (Body) میتواند شامل تگ های HTML نیز باشد
جهت استفاده از این امکان باید خاصیت IsBodyHtml را برابر True کنیم
به مثال زیر توجه کنید:


[C#‎]

MailMessage mail = new MailMessage();

mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");

mail.Subject = "This is an email";
mail.Body = "this is a sample body with html in it. <b>This is
bold</b> <font color=#336699>This is blue</font>";
mail.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);

iman_ad
یک شنبه 04 مهر 1389, 19:08 عصر
قبلا مفصل بحث شده لطفا قبل از ایجاد پست جدید جستجو کنید.

majnun
یک شنبه 04 مهر 1389, 20:28 عصر
سلام من با کدی که دادین و جی میل چندین میل فرستادم (دقیقا 106 تا میل دادم )

اما الان که باز میخوام بدم این مشکل رو داره

این خطا رو میده

میشه کمک کنید ؟



Mailbox unavailable. The server response was: 5.4.5 Daily sending quota exceeded. n40sm2942746weq.5


اگه اشتباه نکنم جی میل اجازه نمیده بیشتر از یه مقدار خاصی میل فرستاده بشه روزانه درسته ؟

برای این مشکل باید جیکار کنم ؟

برنامه من باید روزانه حدود 10 ایمیل رو به حداقل 5000 کاربر ارسال کنه

این مشکل چجوری قابل حله ؟

majnun
یک شنبه 04 مهر 1389, 22:21 عصر
بعد ببخشید دوستان یه سوال دیگه

اگه برای ارسال میل از ایمیل info استفاده کنیم چنین مشکلی حل میشه ؟

ممنون میشم مشکلم رو حل کنید ....

reza6966
یک شنبه 04 مهر 1389, 23:13 عصر
برای این مشکل باید جیکار کنم ؟

برنامه من باید روزانه حدود 10 ایمیل رو به حداقل 5000 کاربر ارسال کنه

این مشکل چجوری قابل حله ؟

بین فرستادن هر میل یک delay قرار بده
و از mail server خود سایتت بهره بگیر

reza6966
یک شنبه 04 مهر 1389, 23:15 عصر
از میل های که محتویات آن برای شما مهم است برای ای میل فرستادن mail حد الامکان استفاده نکن

majnun
یک شنبه 04 مهر 1389, 23:28 عصر
بین فرستادن هر میل یک delay قرار بده
و از mail server خود سایتت بهره بگیر

ببخشید میشه بیشتر توضیح بدین ؟

Delay ?

naser2009
یک شنبه 04 مهر 1389, 23:56 عصر
میتونید از


System.Threading.Sleep()

استفاده کنید واسه ایجاد تاخیر زمانی ورودی تابع sleep زمان به میلی ثانیه است.

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

majnun
دوشنبه 05 مهر 1389, 01:27 صبح
دیگه مطمئن شدم که مشکل از جی میل هست

آخه وقتی میرم درون جی میل سایت گوگل از اونجا هم اجازه ارسال میل رو نمیده

میگه باید شارژ کنی جی میل رو یه همچین چیزایی

دوستان ممنون

فکر کنم همون که بقیه عزیزان اشاره کردن بهترین راهه (استفاده از info )

azadehp
چهارشنبه 08 بهمن 1393, 09:12 صبح
برین به این لینک و کاملا توضیح داده.....هم ارسال خبرنامه از طریق ایمیل و هم ارسال پیام خوش خوش آمدگویی به کاربران جدید و ارسال رمز عبور و نام کاربریشون بعد از عضویتشون در سایت:
http://www.beansoftware.com/ASP.NET-Tutorials/Newsletter-Send-Mass-Emails.aspx

بسیار هم عالی و واضح توضیح داده شده:قلب::قلب::قلب::قلب::تشویق: :لبخند: