Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. HTML & CSS

الابتداء مع HTML رسائل البريد الإلكتروني

by
Difficulty:IntermediateLength:LongLanguages:

Arabic (العربية/عربي) translation by Sittiana Ana (you can also view the original English article)

تعد رسائل HTML الإلكترونية طريقة رائعة للحفاظ على العملاء الذين يتم نشرهم على آخر التحديثات المتعلقة بنشاطك التجاري أو منتجك ، ولكنها صعبة بعض الشيء. دعم CSS في برامج البريد الإلكتروني غير متناسق. نتيجة لذلك ، يجب أن نلجأ إلى التقنيات القديمة ، مثل استخدام الجداول ، و CSS المضمنة. اليوم ، سوف أطلعك على عملية إنشاء رسائل بريد إلكتروني HTML بسيطة.


مقدمة: HTML البريد الإلكتروني

كمطور ويب مستقل، ترميز HTML رسائل البريد الإلكتروني هي واحدة من أصعب المهام التي يجب أن تتعامل مع. لحسن الحظ، عند أحد موكلي أول طلب مني إلى التصميم والتعليمات البرمجية له البريد الإلكتروني النشرة الإخبارية، وكان المريض ما يكفي للسماح لي بالذهاب من خلال عملية طويلة ومحبطة لكشف ذلك كله. قد لا يكون محظوظاً جداً، لذا تعد نفسك مع هذا البرنامج التعليمي.

المشكلة: عملاء البريد الإلكتروني

كنت أعتقد أن أي ألم في بعقب؟ انتظر حتى تلتقي Outlook 2007. بسبب الاختلافات الشاسعة في التقديم إتش تي أم ال/المغلق بين عملاء البريد الإلكتروني، باستخدام تقنيات الترميز الحديثة سيؤدي إلى فوضى كارثية بدلاً من ذلك في العديد من عملاء البريد الإلكتروني شعبية. عملاء البريد الإلكتروني ببساطة لا تجعل HTML بنفس الطريقة كما المتصفحات-إغلاق ولا حتى في كثير من الحالات. أشياء مثل العوامات وصور الخلفية والهوامش حتى لم تعد جزءا من المفردات الخاصة بك. فما هو المبرمج المحب لمعيار للقيام؟

الحل: رمز مثل 1997

هذا صحيح. الجداول. سيلبادينج، سيلسباسينج، colspan، كل هذه الأمور الجسيمة التي كنت تعتقد أنك قد تركت وراءها. الجداول هي الطريقة الوحيدة للحصول على تخطيطات متناسقة للبريد الإلكتروني ، لذا فقد حان الوقت (مؤقتاً) لننسى طرق المحبة CSS الخاصة بك واحتضان الجداول غير الفلسفية والفوضى.


الخطوة 1: التصميم

أبقيها بسيطة

عند تصميم رسالة بريد إلكتروني HTML، الحفاظ على البساطة في الاعتبار. تصميم نستخدمه اليوم تخطيطات أعمدة متعددة، معظمها لأغراض العرض التوضيحي، ولكن النظر في الخلاف على عمودين في جميع أنحاء عند ترميز الرسالة الإخبارية الخاصة بك لإنقاذ أنفسكم الكثير من الصداع.

تقليل استخدام الصورة

تذكر أن لا تتوهم التصميمات الخاصة بك لأن Outlook لا يدعم الصور الخلفية. وفي الواقع، اعتماداً على احتياجات العميل الخاص بك، قد ترغب في تخطي عملية فوتوشوب تماما لقوة نفسك للحفاظ التصميم العملية. وقال أن، سنقوم باستخدام Photoshop هنا حيث يمكنك الحصول على فكرة أفضل عن خطة عملنا.

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

أرق هو أفضل

نظرًا لأن نوافذ المعاينة لعميل البريد الإلكتروني غالبًا ما تكون جزءًا صغيرًا فقط من عرض الشاشة ، فأنت تريد بشكل عام إبقاء تصميمك تحت 600 بكسل. لا أحد يحب أشرطة التمرير الأفقية.

تكون متسقة

تذكر نحن ذاهبون إلى استخدام خصائص غير مرنة مثل سيلبادينج وسيلسباسينج للتباعد لدينا العناصر. فإنه من الحكمة في محاولة للحفاظ على المسافات بين العناصر متسقة.

التصميم لدينا

هذا التصميم مشابهة لواحدة استعملتها لرسالة إخبارية عميل في الصيف الماضي، ولكن مبسطة. أنها ليست جميلة، ولكن هذا ليس النقطة هنا. أنها بسيطة ومتسقة، ويحتوي على عدد من خيارات تخطيط حيث يمكنك أن ترى كيف تختلف.

1

الخطوة 2: تخطيط قانوننا

في تجربتي، يحصل رمز البريد الإلكتروني HTML معقدة للغاية، بسرعة كبيرة. من المهم أن تكون هناك خطة للهجوم. حتى هنا هو الخطة (ونحن سوف أعود إلى هذا، لا تقلق إذا كنت لا تتبع).

أولاً ، نبدأ بجدول عرض كبير بنسبة 100٪ مع خلفية رمادية ، وهذا هو جدول "المجمع".

التالية، ولاحظ أن هناك ثلاثة جداول أكثر داخل الجدول المجمع: واحدة في الجزء العلوي للارتباط "عرض في المستعرض" وواحدة في الوسط للمحتوى الرئيسي وواحد في الجزء السفلي للارتباط "إلغاء الاشتراك".

2a

وأخيراً، داخل الجدول الرئيسي، سوف تكون كل مقطع أفقي للمحتوى داخل صف جدول وخلية جدول. هذه خلايا الجدول، بدوره، سوف تحتوي على جدول آخر لاستضافة كل قسم المحتوى:

2b

Cellpadding و Cellspacing

بدلاً من استخدام خصائص CSS وحشو CSS ، سنستخدم سمات cellpadding و cellspacing HTML. فكر في سيلبادينج كما يجري إلى حد كبير نفس الحشو المغلق--الفضاء داخل عنصر، حول المحتوى. Cellspacing هي المسافة بين خلايا البيانات في جدول.

لدينا جدول رقم # سيكون لدينا 15px من cellspacing ، بحيث سيكون لدينا 15 بكسل من المساحة البيضاء حول قسم المحتوى الرئيسي بالكامل ، و 15 بكسل بين كل مجموعة أفقية. سيلبادينج وسيلسباسينج تنطبق فقط على الجدول الأصل، ليس الأطفال. إذا كنا لا نريد أي سيلبادينج أو سيلسباسينج، نحن بحاجة لتحديد لكل جدول.


الخطوة 3: ترميزها

الآن يمكننا أن نبدأ عملية الترميز النشرة الإخبارية، فرعا فرعا. معارضة لأفضل الممارسات، ونحن في طريقنا إلى ما تقوم به بعض التصميم جنبا إلى جنب مع هيكل. سنبدأ بالتخطيط ، بما في ذلك جميع المسافات والمساحات ، وألوان الخلفية ، وبعد ذلك ، سنقوم بالكتابة وغيرها من عناصر CSS.

اقامة

الإعداد للبريد الإلكتروني بسيط للغاية: علامات html و head و body فقط متضمنة. دعونا نضيف في جدول المجمع والجداول الثلاثة الرئيسية التي ناقشناها سابقا.

بقدر ما نشعر بالقلق doctypes ، هناك عدة طرق مختلفة ، كما هو مفصل في هذه المقالة. وفي حالتنا، لقد قررت ضد استخدام واحد، لأننا لا نحتاج إلى أي من الأشياء التي سوف نحصل بإعلان doctype. سوف تحصل على تجريده من أصل في معظم الحالات على أي حال.

وبصفة عامة، فمن الأفضل تعيين عرض خلايا الجدول الفردي من إلى الجدول نفسه.

لاحظ أن جدولين الرسائل يحتويان على قيم cellpadding بحجم 20 بكسل. سيؤدي ذلك إلى تفريغ تلك الفقرات من المحتوى الرئيسي. يحتوي الجدول الرئيسي على 15px من cellspacing. وهذا وضع متسقة إيقاع عمودي. نظراً لكل قسم داخل خلية الجدول الخاصة به، سوف يكون هناك 15px بين كل منهم.

لاحظ أيضًا أن جميع الجداول مضبوطة على align = "center" ، وقد حددنا بوضوح عروضها. في رسائل HTML الإلكترونية ، من الأفضل بشكل عام ألا يتم تعريف العروض لجداول التغليف. كنت أفضل حالاً تحديد عرض لكل خلية، ولكن في هذه الحالة سوف نكسر هذه القاعدة لأننا سيلسباسينج/سيلبادينج للقلق.

جداول الرسائل

هذه بسيطة للغاية: مجرد فقرات داخل خلايا محاذية للوسط.

الرسالة السفلية هي نفسها تمامًا.

رأس

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

تذكر أن تضبط عرض كل خلية ، والتي في هذه الحالة تكون 570 بكسل (600 بكسل - 15 بكسل من التباعد الخلوي على كل جانب). لقد قمنا أيضًا بتعيين خاصية المحاذاة للتاريخ إلى اليمين. الحق الآن، نحن لا إضافة صورة خلفية، أننا سوف نفعل ذلك في وقت لاحق. في هذه الأثناء، مجرد استخدام أزرق أخف.

لاحظ أننا نستخدم bgcolor بدلاً من style = "background:". وذلك لأن قيم html يتم دعمها بشكل أفضل في برامج البريد الإلكتروني من خصائص CSS.

3a

وهذا ما لدينا حتى الآن، وأنها تبدو سيئة جداً، ولكن التخطيط فقط ما كنا نريده.

قسم المحتوى - 2 عمود

قسم المحتوى الأول الخاص بنا عبارة عن صورة محاذاة إلى اليسار مع عنوانين رئيسيين بجانبها. بدلاً من استخدام تعويم CSS مثلما نفعل عادة ، سنقوم بإنشاء جدول بثلاث خلايا:

  • واحد للصورة،
  • واحدة للمسافة بين الصورة والعناوين الرئيسية،
  • وأخيرًا للعناوين الرئيسية.
3b

بالنسبة للصورة مع الحدود ، سنقوم بضبط جدول آخر داخل الخلية وضبط لوحة الخلايا على 5 بكسل وإعطائها لون خلفية رمادية. تضيف Cellpadding إلى عرض العنصر ، لذا نحتاج إلى تقليل العرض المحدد للخلية بمقدار 10 بكسل.

إشعار:

  • لقد أضفنا صفًا وخلية جدول فارغًا فوق المحتوى. نظرًا لأن لدينا 15 بكسل من الخلايا ، يمكننا استخدام خلية فارغة لإضافة 15 بكسل من التباعد بين العناصر. في بلدي التجارب، هذا يعمل غرامة فارغة، ولكن يمكنك دائماً إضافة مسافة غير منقسمة للتأكد.
  • نحن كنت الإعداد الخامس-محاذاة الخاصية إلى أعلى. هذا أمر مهم، لأنه يقوم بمحاذاة كل خلية مع الجزء العلوي من الصف. الإعداد الافتراضي الأوسط، الأمر الذي يؤدي إلى بعض النتائج الغريبة.
  • نحن نستخدم صورًا زائفة من dummyimage.com نظرًا لأنه يجب استضافة جميع الصور الموجودة في رسائل HTML الإلكترونية (أكثر من ذلك لاحقًا) ومن الأسهل جدًا استخدام الصور التي تم إنشاؤها. تحقق من الموقع ، فهو يشرح كيفية تحديد الصورة التي تريدها باستخدام عنوان URL.

قسم المحتوى-1-العمود

وهذا قسم حقيقة بسيطة: جدول عمود واحد فقط مع فقرة داخل. لا ننسى لضبط عرض الخلية وتحديد محاذاة الجدول للمركز.

فواصل

لإضافة مساحة عمودية (أكثر من 15px cellspacing لدينا) علينا أن استخدام صورة فاصل. تماما مثل ال 90! أننا يمكن أن تستخدم صورة gif فاصل وتحميله، ولكن في الوقت الراهن أسرع مجرد استخدام صورة دمية أخرى. سأترك ذلك الرمادي حيث يمكنك أن ترى ذلك، ولكن في وقت لاحق ونحن يمكن تعيينها إلى الأبيض في الأبيض.

مما يعطينا شيئًا كهذا:

3c

قسم المحتوى-3 أعمدة

بالنسبة إلى قسم من 3 أعمدة ، نستخدم خمس خلايا جدول ، واحدة لكل عمود ، وواحدة بين الأعمدة لفصلها.

3d

سهل الاستخدام ، استخدم نفس الطريقة للحدود كما فعلنا في قسم الأعمدة. لا تنسوا المحاكة!

أعمدة النص الثلاثة هي نفس العملية بالضبط.

إضافة فاصل آخر في الجزء السفلي، ونحن تقريبا هناك:

3e

البقية...

كل شيء آخر هو مجرد تكرار ما قمنا به بالفعل: قسم مكون من عمودين وقسم بعمود مع فواصل بينهما.

وقد اكتمل المخطط الرئيسي الآن:

3f

كلمة بشأن الصور

على عكس صفحات ويب عادية، لا مجرد وضع جميع الصور الخاصة بك في مجلد وثم استخدام المسارات النسبية للارتباط بها. يجب أن تكون كافة ارتباطات مطلقة! عندما أقوم بتطوير بريد إلكتروني ، أقوم عادة باستضافة الصور على نطاق فرعي أو على Amazon S3. عندما أكون مستعدًا لإرسال البريد الإلكتروني لأحد العملاء ، فإنني أنقل جميع الصور إلى نطاق فرعي من موقع الويب الخاص بهم.

يجب أن تكون جميع روابط الصور مطلقة!


الخطوة 4: التصميم البريد الإلكتروني

ونحن لا يمكن استخدام ورقة أنماط خارجية، ونحن لا يمكن تضمين المغلق في رأس رسالة البريد الإلكتروني، نظراً لأن بعض العملاء قطاع من علامة الرأس كاملة، أو تجاهل علامات نمط. نحن ذاهبون إلى استخدام أنماط مضمنة، الذي هو ألم ضخمة. لحسن الحظ ، هناك خدمات مفيدة متوفرة ستتخذ CSS مضمّنًا وتجعلها مضمنة. أستخدم موقعًا إلكترونيًا يُسمى Premailer ، حيث يمكنك لصقه في الشفرة مباشرةً وإخراج نفس الشيء باستخدام CSS المضمّن.

نحن ذاهبون للقيام CSS مضمنة لهذا البرنامج التعليمي، ثم نحن ذاهبون لجعله متوافقاً مع بريمايلير.

Premailer يأخذ CSS المدمجة ويجعلها مضمنة!

إعادة تعيين الأساسية

لن نذهب للقيام بإعادة تعيين ثابت مع * محدد كما قد تفعل لصفحة ويب. استخدام الإعدادات الافتراضية في الواقع سوف تسفر عن نتائج أكثر اتساقا. الحشو/الهوامش التي سوف نحتاج إلى إعادة تعيين عناصر فقط هي تلك التي سوف يكون لديك مساحة حولهم (من سيلبادينج/سيلسباسينج) مثل لدينا عناوين الرأس، أو الفقرات لدينا.

ستلاحظ أيضًا هامشًا حول جدول المجمّع ، وهو التصميم الافتراضي فقط على عنصر النص الأساسي.

أسلوب الطباعة

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

وننظر: أفضل بكثير الآن!

3g

صور الخلفية

تعمل صور الخلفية بشكل مشابه تمامًا كما هو الحال في صفحة الويب ، باستثناء أنها لا تعمل في بعض الأحيان! تأكد من أن لديك لون خلفية احتياطي ، يتم تعيينه للخلية على هيئة bgcolor ، للعملاء الذين لا يدعمون خلفيات CSS.

متنوعة الأنماط الأخرى

نحن بحاجة إلى النمط كل وصلة، أو أنهم سيرثون اللون الافتراضي عميل البريد الإلكتروني، ويتيح أيضا إضافة تلك الحدود حول الجدول الرئيسي. سنقوم أيضا بإضافة العرض: كتلة لجميع الصور لدينا، وهذا يحل خلل في Outlook و Hotmail.

تأكد من إضافة "عرض: كتلة" إلى جميع الصور لمنع خلل هامش غريبة في Hotmail.

3h

ونحن ننتهي مع الجزء السهل. الآن على الاختبار!


الخطوة 5: الاختبار

عملية الاختبار هو الجزء الأكثر أهمية والأكثر البغيض لإنشاء رسائل البريد الإلكتروني HTML. عندما أعمل في رسالة بريد إلكتروني، اختبار بشكل متكرر في كل مرحلة، حتى أنا يمكن تحديد بالضبط ما يذهب على نحو خاطئ. وهناك الكثير من العملاء لاختبار، والكثير من الطرق لاختبار لهم، دعونا نذهب أكثر من ذلك جميع.

عملاء البريد الإلكتروني

هؤلاء هم العملاء يجب أن تختبرها، على الأقل:


كيف للاختبار

سنحتاج إلى إيجاد طريقة لإرسال رسائل بريد إلكتروني بتنسيق HTML أولاً. من المحتمل أن يكون عميلك قد تم إعداده باستخدام خدمة مثل Mailchimp أو Campaign Monitor ، مما يسمح لك باختبار وإرسال حملات البريد الإلكتروني.

قد تعتقد أنني أعقد هذا دون داع ، لأن بعض عملاء البريد الإلكتروني يسمح لك بلصق رمز HTML. ومع ذلك ، يمكن أن يؤدي ذلك إلى نتائج مختلفة عن استخدام تطبيق حملة البريد الإلكتروني. اختبر مع تطبيق ليكون على الجانب الآمن.


اختبار مع Mailchimp

الأسلوب المفضل بلدي ينطوي على استخدام Mailchimp لإرسال حملات الاختبار والاختبار. Mailchimp مجاني ليصل إلى 500 مستلم، حتى لا تضطر إلى دفع للاختبار. وله واجهة بسيطة وسهلة الاستخدام. وإليك سريعة تجول خطوة بخطوة:

  • قم بالتسجيل للحصول على حساب Mailchimp مجاني ، وقم بإضافة قائمة مستلمين لحسابات البريد الإلكتروني التجريبية الخاصة بك: Hotmail و Yahoo !، و Gmail ، وقم بتسجيل الدخول إلى حسابك الجديد.
  • اختر إنشاء حملة وتحديد الرتب الأخرى العادية "حملة من صفحة الحساب الرئيسية. ملء المعلومات الأساسية حول الحملة، كنت حقاً بحاجة فقط اسم لأغراض الاختبار.
  • في صفحة التصميم ، حدد استيراد -> لصق في التعليمات البرمجية وتأكد من تحديد Automatic CSS Inliner
  • إذا كنت لا تستخدم Mailchimp، تأكد من استخدام بريمايلير للحصول على المحول المغلق الخاص بك
  • تابع حتى تصل إلى صفحة التأكيد ، واختر إرسال اختبار. يمكنك إرسال بعض الاختبارات من هنا ، ولكن بعد ذلك ، تحتاج إلى إرسال رسائل البريد الإلكتروني إلى قائمتك.

اختبار مع Litmus

Litmus هو تطبيق ويب يختبر رسائل HTML الإلكترونية في جميع أنواع الإصدارات من جميع أنواع العملاء. تكلف الخدمة الكاملة المال ، ولكن إذا لم تتمكن من إقناع العميل بالدفع ، فإن الإصدار المجاني يتيح لك الاختبار في Gmail القديم و Outlook 2003 ، وهو أمر لا يزال مفيدًا.


النتائج-جيد

بعض تجاربنا تبين جيد:

4a

Apple Mail

4b

ثندربيرد


النتائج-باديش

بعضهم قليلاً قبالة، ولكن أكثر أو أقل نفسه:

4c

Gmail (safari)

4d

2007 أووتلووك

4e

برنامج outlook 2003

4f

ياهو! بريد


النتائج-القبيح

كان لدينا أيضا فشل زوجين.

4g

هوتميل (جرين؟)

4h

Gmail القديم (مستكشف)

تنظيف الفوضى

كل الأمور تعتبر ، هذا اختبار ناجح للغاية ، لأنني اختبرت الكثير من العناصر في Outlook و Gmail كما كنت ذاهبا. ترتبط المشاكل التي نواجهها مع Gmail القديم و Hotmail بأوراق الأنماط الافتراضية التي يستخدمها العملاء. العلامة التجارية مايكروسوفت الخاصة والفريدة لمجنون أعطانا ورقة أنماط افتراضي الذي يتجاوز كل العناوين بنمط نص أخضر مع! تعيين مهمة. في بعض الأحيان وأنا متأكد من أنهم يريدون جعل لي مجنون.

4i

لحل هذه المشكلة ، نحتاج إلى إضافة الإعلان المهم إلى كل أنماط ألوان العنوان لدينا على النحو التالي:

ل Gmail القديم، لدينا مشكلة مماثلة في الرأس: Gmail هو إضافة هامش إضافي للجزء السفلي من علامات العنوان. نحن بحاجة فقط تجاوز الهامش السفلي على وجه التحديد.

ونحن الثابتة Hotmail:

4j

لذا يوجد لدينا، رسالة بريد إلكتروني HTML الوظيفية، بما يتفق (إذا كان قليلاً عادي). هو ألم، نعم، ولكن بمجرد الحصول على نظام تسير عليه يذهب على نحو أسرع كثيرا. في محاولة للحفاظ على التعليمات البرمجية الخاصة بك جيدا وعلقت ومنظمة بحيث يمكنك إعادة استخدام أجزاء منه في وقت لاحق.

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


استكشاف الأخطاء وإصلاحها

من المؤكد أنك ستواجه مشكلات لم أتناولها هنا ، ولكن لدي بعض النصائح العامة للتنظيف:

  • فحص الرياضيات الخاص بك: لا أتذكر عدد المرات التي كنت ثمل تخطيط بعدم إضافة عرض خلايا الجدول بدقة. تذكر أن تقوم بحساب cellpadding: فإنه يضيف إلى عرض الخلايا الخاصة بك.
  • تحقق من أوراق الأنماط الافتراضية: استخدم شيئًا مثل Firebug أو Webkit Inspector للتحقق مما إذا كان عميل المتصفح يتجاوز أنماطك. إذا حدث هذا ، فإن إضافة إعلان مهم يجب أن يحل المشكلة.
  • ابحث عنه: هناك دائماً فرصة جيدة جداً شخص شهدت المشكلة الخاصة بك من قبل. إذا كان لا يساعد جوجل، جرب التصفح نصائح وحيل على المدونات لخدمات البريد الإلكتروني شعبية والحملة، بعض الناس لا رسائل البريد الإلكتروني للعيش، وأنهم يعرفون الأشياء!
  • فصلها: إذا لم تتمكن من العثور على المكان الذي ذهبت إليه بشكل خاطئ ، فارجع إلى البداية وتحقق من رسالة البريد الإلكتروني شيئًا فشيئًا حتى تجد ما يكسرها.

والنتيجة

هنا هو رمز النهائية للمرجع الخاص بك:

إليك ما تبدو عليه النتيجة النهائية إذا استخدمنا صورًا حقيقية:

4k

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


الموارد

أرجو أن كنت قد تعلمت شيئا اليوم! أنا أعرف وجدت أول مشروع البريد الإلكتروني HTML لتكون أحد أهم للتربية لقد عملت من أي وقت مضى على. إلا أنه يبدو عادلة لتقاسم ما تعلمته!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.