الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Send Massive Amount Of Emails

بدأه AhmedElbaz في 18 سبتمبر 2008 · 8 رد · 1,017 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم شباب

ممكن تشاركوني افكاركم في ارسال عدد كبير من الايميلات ( 50 الف ايميل او اكتر )

لان ال mail server صعب انه يقبل queue بالحجم ده او حتي لو يقبل ممكن لو السرفر مشغول يحصله crash

بفكر استخدم scheduler و threading ؟؟

#2

السلام عليكم :

ارسال عدد كبير دفعة واحدة صعب جداً ولكن عندي فكرة هي انشاء كائن timer ومن ثم ضبط الوقت دقيقة او أكثر ومن ثم معالجة حدث ال timer حيث يقوم معالج الحدث (طبعأ نحن قمنا بتخزين الايميلات بقاعدة بيانات) باختيار اول 100 ايميل لم يرسل ويقوم بارسالها ومن ثم يقوم بتحديث قاعدة البيانات ووضع علامة على الايميلات التي ارسلت بان قد تم ارسالها وهكذا يتم ارسال الايميلات بشكل منتظم حسب الوقت الذي نحدده

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#3

you can SQL Notification service. but this just to manage the huge amount of items and i guess 50 000 not that huge at all.

but you need to make some investigation about the smtp server you will use. most of mail servers such as hotmail and yahoo and google will block this smtp and consider it as spam.

#4

السلام عليكم و رحمة الله و بركاته

انا كنت اشتغلت فى مشروع بيقوم بنفس العمل اللى انت عايزه بس انا كنت شغال على 1000000 ميل او اكثر و كانت فكرته مبنيه على انى بعمل thread لكل ميل و اخلى ال thread ده بيعت الميل و بعدين يقفل نفسه

بس كانت فى مشكله تانيه و هى ان الميل سيرفر المرسل اليه مثلا ذى الياهوو لما بيلاقى عدد كبير من الاميلات جايه من اى بى معين كان بيعمل بلوك للا اى بى ده و المشكله دى كان حلها انى بحط فى البرنامج مثلا 50 real ip و اخلى البرنامج مثلا بعد كل 50 ميل يغير الاى بى بتاع الجهاز و يكمل ارسال و على ما يخلص ال 50 اى بى يرجع يعيدهم من تانى.. اما بالنسبه لارسال 50000 ايميل انا شايف ان ده مش عدد كبير اصلا

دى الافكار الرئيسه فى البرنامج

thanks

Kind Regards

Mohammed Al maghraby

Software Developer

Mobile : 016 333 658 1

#5

زي ما قلت يا أحمد باشا threading هي الخيار الأفضل .. خصوصاً إني بالفعل قريت في أحد الكتب البرمجية العالمية إن الأفضل استخدام الأسلوب ده ...

ولكن لو شعرت إن الإيميلات ستصبح كبيرة جداً ... أو الضغط على السيرفر سيكون شديد في الإرسال ... فالأفضل عمل Farm Hosting بحيث يبقى الموقع مقسم لعدد من الأجزاء .. جزء منه وهو الخاص بالإرسال على سيرفر لوحده ... أو ممكن أن تستأجر سيرفر مخصوص للإرسال بس ده غالي على حد علمي ...

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#6

شكرا شباب

مفيش مشكلة بالنسبة للسرفر لان المشروع intranet و مفيش block ان شاء الله

اقتباس
انا كنت شغال على 1000000 ميل او اكثر و كانت فكرته مبنيه على انى بعمل thread لكل ميل و اخلى ال thread ده بيعت الميل و

بعدين يقفل نفسه

ياااااااه بتعمل مليون thread بس ده مش يبطئ البرنامج شويه خصوصا ان ال thread عشان ينشئ محتاج شويه resources صغيرة

#7

السلام عليكم

ممكن كود ارسال الايميل اذا تكرمتوا ؟؟؟

لاني جربت من فترة طويلة ولم استطع

وهل يجب رفع ملف aspx على الموقع

او يمكن ان تتم عملية الارسال من جهاز الكمبيوتر؟؟؟

#8

يوجد في الدوت نت مجموعة من ال classes تساعدك علي ذلك

فقط تحتاج اسم ال Stmp mail server مثل ال Gmail مثلا و ايضا لو فيه username و password

شوف الكود التالي :

			//basic mail message
			System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();

			msg.From = new System.Net.Mail.MailAddress("from email");
			msg.To.Add("to email");

			msg.Subject = "subject";
			msg.Body = "email body";

			//send message
			System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
			smtp.Host = "mail.domain.com";
			smtp.Credentials = new System.Net.NetworkCredential("username", "password");
			smtp.UseDefaultCredentials = false;
			smtp.Send(msg);

الكود السابق يستخدم في ابسط الحالات

للمزيد راجع الروابط التالية

Sending Email in ASP.NET 2.0: HTML-Formatted Emails, Attachments, and Gracefully Handling SMTP Exceptions

Sending Email in ASP.NET Using SMTP Authentication (VB.NET)

اقتباس
وهل يجب رفع ملف aspx على الموقع

او يمكن ان تتم عملية الارسال من جهاز الكمبيوتر؟؟؟

الامر ليس مرتبط بال ASP.NET يمكنك الارسال عن طريق Windows Application

تم تعديل هذه المشاركة بواسطة AhmedElbaz في 20 أكتوبر 2008 في 16:07

#9

شكرا لك استاذ احمد

وجزاك الله كل خير

مواضيع مشابهة