تخصيص قالب البريد الإلكتروني الخارجي لـ Discourse

:bookmark: يشرح هذا الدليل كيفية تخصيص وتنسيق قالب HTML الخارجي لجميع رسائل البريد الإلكتروني المرسلة من موقع Discourse الخاص بك.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول (Administrator)

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

يغطي هذا الدليل:

  • الوصول إلى قسم تخصيص أنماط البريد الإلكتروني
  • تعديل قالب HTML
  • إضافة CSS مخصص
  • اختبار قوالب البريد الإلكتروني
  • التراجع عن التغييرات
  • مثال على قالب مخصص
  • التفاعل مع رسائل البريد الإلكتروني التجميعية (digest emails)
  • تغيير خطوط البريد الإلكتروني

الوصول إلى تخصيص أنماط البريد الإلكتروني

  1. انتقل إلى صفحة المظهر (Appearance) ضمن قسم البريد الإلكتروني (Email) في الشريط الجانبي للمسؤول، أو انتقل مباشرة إلى /admin/customize/email_style.
  2. سترى محررًا به علامتا تبويب — HTML و CSS — حيث يمكنك تعديل القالب والأنماط لرسائل البريد الإلكتروني الخاصة بك.

تعديل قالب HTML

يحتوي الترميز الافتراضي في علامة تبويب HTML على العديد من العناصر النائبة (placeholders):

  • %{email_content}مطلوب. هذا هو المكان الذي سيتم فيه إدراج محتوى كل بريد إلكتروني. يجب ألا تزيل هذا العنصر النائب.
  • %{email_preview} — يُدرج نص معاينة مخفي لعملاء البريد الإلكتروني الذين يعرضون مقتطفًا.
  • %{html_lang} — يُدرج رمز لغة الموقع في وسم <html>.
  • %{dark_mode_meta_tags} — يُدرج وسوم meta لدعم الوضع الداكن.
  • %{dark_mode_styles} — يُدرج أنماط CSS لتقديم الوضع الداكن.

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

للحصول على معلومات حول تخصيص المحتوى الذي يحل محل العنصر النائب %{email_content}، راجع كيفية تخصيص قوالب بريد إلكتروني محددة.

إضافة CSS مخصص

يمكنك استخدام علامة تبويب CSS في محرر نمط البريد الإلكتروني (Email Style) لحقن الأنماط المضمنة (inline styles) في القالب الخاص بك. إليك مثال:

  1. أضف فئة CSS إلى عنصر HTML في القالب:

    <td> class="my-outer-td">
    </td>
    
  2. أنشئ قاعدة للفئة في علامة تبويب CSS:

    .my-outer-td {
      padding: 30px 0 30px 0;
    }
    

سيقوم Discourse باستبدال فئة CSS بقاعدة CSS الفعلية قبل إرسال البريد الإلكتروني. يمكنك إضافة أي قواعد CSS تريدها هنا.

اختبار قوالب البريد الإلكتروني

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

التراجع عن التغييرات

للتراجع عن تخصيص القالب الخاص بك:

  1. حدد علامة التبويب التي تريد إعادة تعيينها (HTML أو CSS).
  2. انقر على زر “إعادة تعيين إلى الافتراضي (Reset to default)” أسفل المحرر.

سيؤدي هذا إلى إعادة تعيين هذا القسم المحدد (HTML أو CSS) إلى قالب بريد Discourse الافتراضي. يتم إعادة تعيين كل علامة تبويب بشكل مستقل.

مثال على قالب مخصص

إليك قالب بريد إلكتروني أساسي يحدد عرض رسائل البريد الإلكتروني بحد أقصى 600 بكسل ويضيف شعارًا في الأعلى:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body style="margin: 0; padding: 0;">
    <!--[if mso]>
    <style type="text/css">
      body, table, td, th, h1, h2, h3 { font-family: Helvetica, Arial, sans-serif !important; }
    </style>
    <![endif]-->
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr>
        <td style="padding: 10px 0 30px 0;">
          <!--[if gte mso 9]>
          <table width="600" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td>
          <![endif]-->
          <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;border-collapse: collapse;">
            <tr>
              <td style="padding: 20px 15px 20px 15px;">
                <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
                  <tr>
                    <td align="center">
                      <a href="https://forum.example.com">
                        <img src="https://your-site-logo-url" alt="Your site name" width="150" height="40" style="display: block;"/>
                      </a>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <tr>
              <td style="padding: 0 15px 0 15px;">
                <hr style="background-color: #ddd; height: 1px; border: 1px;" />
              </td>
            </tr>
            <tr>
              <td style="padding: 20px 15px 30px 15px; color: #153643; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
                %{email_content}
              </td>
            </tr>
          </table>
          <!--[if gte mso 9]>
              </td>
            </tr>
          </table>
          <![endif]-->
        </td>
      </tr>
    </table>
  </body>
</html>

تذكر استبدال سمات src و alt و href الخاصة بالصورة بمعلومات موقعك المحددة.

إليك كيف يبدو على أحجام شاشات مختلفة

iPad Pro (10.5 inch) (iOS 13.1):

Gmail (Chrome):

iPhone 11 Pro Max (iOS 13.1):

Outlook 2019 (Windows 10)

التفاعل مع رسائل البريد الإلكتروني التجميعية (Digest Emails)

إذا أضاف قالبك المخصص شعارًا لجميع رسائل البريد الإلكتروني، فلديك خياران لرسائل البريد الإلكتروني التجميعية:

  1. لاستخدام تنسيق البريد الإلكتروني التجميعي الافتراضي:

    • قم بتعطيل إعداد الموقع apply custom styles to digest.
  2. للحفاظ على تنسيق متسق عبر جميع رسائل الإشعارات:

    • قم بإزالة أي صور تم تعيينها كإعداد موقع digest logo.
    • أضف <span></span> إلى التخصيص النصي في .../admin/customize/site_texts/user_notifications.digest.custom.html.header.

تغيير خطوط البريد الإلكتروني

لتغيير الخطوط في رسائل البريد الإلكتروني الخاصة بك:

  1. استخدم خطوط الويب الآمنة (web-safe fonts) لتحقيق أقصى قدر من التوافق. ارجع إلى مكدس خطوط CSS (CSS Font Stack) للحصول على قائمة بالخطوط المتاحة على Windows و Mac.

  2. أضف قواعد CSS للخطوط إلى قالب بريد Discourse الخاص بك.

  3. يمكنك تعيين الخطوط مباشرة في عناصر HTML، على سبيل المثال:

    <td style="font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
      %{email_content}
    </td>
    

لاحظ أن العديد من عملاء البريد الإلكتروني لا يدعمون خطوط الويب من خدمات خارجية.

موارد إضافية

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

18 إعجابًا

Thank @simon!

Could you be so kind to provide a full text of template? I would be happy to try it.

3 إعجابات

Thanks for pointing that out. It must have been a copy/paste error when I created the topic. I’ve added the full template to the post now.

3 إعجابات

How can we get the logo_url from Discourse in this template? is this possible?

إعجاب واحد (1)

The easiest way might be to open your browser’s web inspector on your DIscourse site and copy the value of the logo’s src attribute into the template. You could also get the logo URL from the rails console by looking at the value of the url property that is returned for SiteSetting.logo

4 إعجابات

Ok cool, this is how I’m doing it right now, thanks!

إعجابَين (2)

رائع جداً. أعتقد أن هذا يجب أن يكون الافتراضي. معظم المواقع تستخدم عموداً مركزاً بعرض 600 بكسل.

يبدو أنه يجب وجود غلاف منفصل لتعديله في رسائل البريد الإلكتروني الملخصة.

إعجابَين (2)

ما هي أفضل طريقة لتغيير الخط في رسائل البريد الإلكتروني؟ شكراً.

إعجاب واحد (1)

أعتقد أن النهج الأكثر أمانًا هو استخدام خطوط الويب الآمنة. قائمة جيدة بالخطوط المتوفرة على أجهزة الكمبيوتر التي تعمل بنظام Windows و Mac موجودة هنا: https://www.cssfontstack.com/. يجب أن يكون كافيًا لإضافة قواعد CSS للخطوط إلى قالب البريد الإلكتروني الخاص بـ Discourse.

يمكنك محاولة سحب خطوط الويب من خدمة خارجية لرسائل البريد الإلكتروني الخاصة بك، ولكن يجب أن تكون على دراية بأن العديد من عملاء البريد الإلكتروني لا يدعمون خطوط الويب. بعض التفاصيل حول ذلك موجودة هنا: The Ultimate Guide to Web Safe Fonts for Email Marketing | Litmus.

3 إعجابات

شكرا لك. سأستخدم خطًا آمنًا للويب. في المثال أعلاه يوجد جزء [if mso] ولكني لا أرى أين تم تعيين الخط للعملاء غير Outlook.

إعجاب واحد (1)

في القالب المثال، يتم تعيين الخطوط لعملاء البريد الإلكتروني غير Outlook باستخدام قواعد CSS التي تتم إضافتها مباشرة إلى عناصر HTML. على سبيل المثال:

<td style="padding: 20px 15px 30px 15px; color: #153643; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px;">
    %{email_content}
</td>
إعجابَين (2)

إذن هم كذلك. سألقي باللوم على شاشة الهاتف المحمول الضيقة وأكتفي بذلك :slight_smile:

إعجابَين (2)

هل من الممكن تخصيص خط النص بجوار الصورة الرمزية؟ أعني، النص الخاص بـ:

[الاسم الحقيقي] [اسم المستخدم]
[التاريخ]

لقد تمكنت من تغيير بقية نص البريد الإلكتروني ولكن النص أعلاه له النمط التالي:

style=“color:#006699;; font-size:13px;font-family:‘lucida grande’,tahoma,verdana,arial,sans-serif;text-decoration:none;font-weight:bold; text-decoration: none; font-weight: bold; color: #006699;”

إعجاب واحد (1)

هل هناك أي متغيرات أخرى متاحة في قالب البريد الإلكتروني؟

على سبيل المثال، سيكون من المفيد الحصول على %{year} لتجنب الحاجة إلى تحديث تذييلات البريد الإلكتروني. هل هذا متاح؟

إعجاب واحد (1)