قم بتنزيل التطبيق الآن وجربه مجانًا لمدة 10 أيام
العملة اختر اللغة اختر المنطقة

هدف البرنامج التعليمي

ملاحظة: هذا الدليل موجه للمطورين ويظهر كيفية استدعاء نظام البريد المدمج في نظام إدارة المحتوى bluetronix مباشرة عبر PHP.

يوفر نظام إدارة المحتوى bluetronix وظائف PHP مركزية لإرسال البريد الإلكتروني.

لذلك لا يتعين إعادة برمجة اتصالات SMTP وحسابات البريد الوارد ووظائف الإرسال الأساسية لكل نص PHP خاص.

لإرسال البريد الإلكتروني والنشرة الإخبارية بشكل مباشر، تتوفر الوظيفة التالية:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

لإرسال بريد إلكتروني من نموذج، تتوفر الوظيفة الإضافية التالية:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

BlueSMTPMail()

يمكن استخدام BlueSMTPMail() لإرسال رسائل البريد الإلكتروني العادية والنشرات الإخبارية من خلال نظام البريد المركزي لنظام إدارة المحتوى bluetronix.

استدعاء الوظيفة يكون كالتالي:

BlueSMTPMail(
   $MailType,
   $MailAccount,
   $SMTPType,
   $From,
   $To,
   $NewsletterTo,
   $Subject,
   $TextContent,
   $HTMLContent,
   $Attachments,
   $EmbedImages,
   $MailPlaceholderReplacement,
   $FormEntry
);

$MailType

يحدد نوع البريد الإلكتروني الذي سيتم إرساله.

القيم الممكنة:

Mail
Newsletter

مثال:

$MailType = "Mail";

أو:

$MailType = "Newsletter";

$MailAccount

$MailAccount يحدد حساب البريد الإلكتروني الذي ستستخدم إعدادات SMTP الخاصة به.

يتم تحميل بيانات تكوين SMTP المقابلة من جداول قاعدة بيانات النظام.

يعتمد تكوين الاستخدام أيضًا على $SMTPType.

$SMTPType

يحدد ما إذا كان سيتم استخدام حساب بريد إلكتروني داخلي أو خارجي.

القيم الممكنة:

Intern
Extern

داخلي

في:

$SMTPType = "Intern";

سيتم استخدام حساب بريد إلكتروني تم إعداد مباشرة في نظام إدارة المحتوى bluetronix.

توجد الحسابات تحت:

Email → Accounts

يجب أن تكون عنوان المرسل المستخدم تحت $From موجودًا هناك كحساب.

خارجي

في:

$SMTPType = "Extern";

تُستخدم بيانات وصول SMTP الخارجية.

تُدار في نظام إدارة المحتوى تحت:

Email → Server - Extern

...

يجب إعداد عنوان المرسل المستخدم تحت $From هناك وفقًا لذلك.

$From

يتضمن عنوان البريد الإلكتروني للمرسل.

مثال:

$From = "info@example.com";

يجب أن يتناسب عنوان البريد الإلكتروني مع تكوين SMTP المختار.

$To

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

مثال:

$To = "customer@example.com";

عند إرسال البريد العادي، يتم استخدام هذه المتغير كمرسل.

$NewsletterTo

$NewsletterTo يُستخدم عند إرسال النشرة الإخبارية.

يتضمن المتغير عدة عناوين بريد إلكتروني كنص. يتم فصل كل عنوان بريد إلكتروني بواسطة سطر جديد.

مثال:

$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";

$Subject

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

مثال:

$Subject = "Welcome to our website";

$TextContent

يتضمن النص العادي للبريد الإلكتروني.

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

مثال:

$TextContent = "Thank you for your request.";

$HTMLContent

يتضمن جزء HTML للبريد الإلكتروني.

مثال:

$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";

يمكن إرسال رسائل البريد الإلكتروني المنسقة مع العناوين والنصوص والروابط والصور وعناصر HTML الأخرى.

$Attachments

يمكن استخدام $Attachments لإرفاق ملفات بالبريد الإلكتروني.

يتم تحديد الملفات من خلال مسارها داخل صفحة الويب.

مثال:

$Attachments = "/bx_doc/Intro.pdf";

عند وجود عدة مرفقات، يتم فصل مسارات الملفات الفردية بواسطة سطر جديد.

مثال:

$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";

$EmbedImages

يمكن استخدام $EmbedImages لتحديد ما إذا كان يجب تضمين الصور مباشرة في البريد الإلكتروني.

مثال:

$EmbedImages = "ja";

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

وبذلك يمكن أن تكون الصور متاحة للمستلم مباشرة داخل البريد الإلكتروني دون الحاجة إلى تحميلها أولاً من الخادم.

$MailPlaceholderReplacement

يمكن استخدام $MailPlaceholderReplacement لاستبدال العناصر النائبة ضمن:

$TextContent
$HTMLContent

بقيم فردية.

المبدأ هو:

Search
   ↓
Replace

يمكن من خلال ذلك إنشاء محتوى مخصص داخل البريد الإلكتروني.

تستخدم عادة في:

  • Name des Empfängers
  • Kundennummer
  • Bestellnummer
  • individuelle Links
  • weitere dynamische Inhalte

$FormEntry

يمكن تحديد ما إذا كان يجب حفظ الإرسال أيضًا في أرشيف النموذج باستخدام $FormEntry.

في:

$FormEntry = "JA";

يتم حفظ إدخال إضافي في جدول البيانات:

00_form

مخزّن.

يمكن توثيق الإرسال كإدخال في النموذج أو الأرشيف في نفس الوقت.

مثال: إرسال بريد إلكتروني عادي

المثال التالي يرسل بريدًا إلكترونيًا عاديًا بصيغة HTML ونص عبر حساب بريد داخلي.

$MailType                  = "Mail";
$MailAccount               = "info@example.com";
$SMTPType                  = "Intern";
$From                      = "info@example.com";
$To                        = "customer@example.com";
$NewsletterTo              = "";
$Subject                   = "Your request";
$TextContent               = "Thank you for your request.";
$HTMLContent               = "<h1>Thank you</h1><p>Thank you for your request.</p>";
$Attachments               = "/bx_doc/Intro.pdf";
$EmbedImages               = "ja";
$MailPlaceholderReplacement = "";
$FormEntry                 = "NEIN";

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

الإجراء المبسط هو:

PHP
   ↓
BlueSMTPMail()
   ↓
internen Mail-Account laden
   ↓
SMTP-Verbindung verwenden
   ↓
E-Mail erzeugen
   ↓
E-Mail versenden
   ↓
MailCache-Eintrag erzeugen

مثال: إرسال نشرة إخبارية

للنشرة الإخبارية يتم تعيين $MailType على:

Newsletter

محدد.

يتم تمرير المستلمين بعد ذلك عبر $NewsletterTo.

$MailType                  = "Newsletter";
$MailAccount               = "newsletter@example.com";
$SMTPType                  = "Intern";
$From                      = "newsletter@example.com";
$To                        = "";
$NewsletterTo              = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject                   = "Our latest news";
$TextContent               = "Discover our latest news and products.";
$HTMLContent               = "<h1>Our latest news</h1><p>Discover our latest news and products.</p>";
$Attachments               = "";
$EmbedImages               = "ja";
$MailPlaceholderReplacement = "";
$FormEntry                 = "NEIN";

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

يتم فصل مستلمي النشرة الإخبارية الفرديين داخل $NewsletterTo بفواصل الأسطر.

استخدام اتصال SMTP خارجي

إذا كان يجب استخدام خادم بريد خارجي، يتم:

$SMTPType = "Extern";

محدد.

يجب إعداد بيانات الوصول إلى SMTP مسبقًا في:

Email → Server - Extern

.

مثال:

$SMTPType    = "Extern";
$From        = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";

BlueFormSend()

بالإضافة إلى إرسال البريد المباشر، تتوفر الوظيفة:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

.

هذه الوظيفة مصممة خصيصًا لإرسال البريد الإلكتروني بالتزامن مع نماذج CMS.

تمت كتابة المتغيرات بالكامل باللغة الإنجليزية بالفعل.

معاملات BlueFormSend()

متغير استخدام
$SMTPType اختيار إرسال SMTP داخلي أو خارجي
$SendMail يتحكم في إرسال البريد للنموذج
$SendSubject موضوع بريد النموذج الإلكتروني
$CopyToCustomer يتحكم في ما إذا كان سيتم إرسال نسخة إلى العميل
$TextToCustomer نص الرسالة للعميل
$FormArchive يتحكم في أرشفة النموذج
$FormID معرف النموذج المعني
$SendTo المستلم لبريد النموذج الإلكتروني

MailCache

كل استدعاء لـ BlueSMTPMail() ينشئ إضافة في جدول قاعدة البيانات:

00_MailCache

من خلال هذا الجدول يمكن متابعة حالة إرسال البريد.

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

تُستخدم إدخالات MailCache لـ:

1 Woche

مخزّن.

الخطوات النموذجية لإرسال البريد الإلكتروني

PHP-Skript
   ↓
BlueSMTPMail()
   ↓
MailType prüfen
   ↓
MailAccount auswählen
   ↓
SMTPType prüfen
   ↓
SMTP-Konfiguration laden
   ↓
Empfänger bestimmen
   ↓
Text- und HTML-Inhalt erstellen
   ↓
Platzhalter ersetzen
   ↓
Anhänge hinzufügen
   ↓
Bilder gegebenenfalls einbetten
   ↓
E-Mail versenden
   ↓
00_MailCache aktualisieren
   ↓
optional 00_form speichern

نظرة عامة على معلمات BlueSMTPMail

متغير الدلالة
$MailType بريد أو نشرة إخبارية
$MailAccount حساب البريد الذي سيتم استخدامه
$SMTPType داخلي أو خارجي
$From عنوان المرسل
$To مستلم بريد إلكتروني عادي
$NewsletterTo مستلمي النشرة الإخبارية، مفصولين بأسطر جديدة
$Subject الموضوع البريد الإلكتروني
$TextContent جزء النص من البريد الإلكتروني
$HTMLContent جزء HTML من البريد الإلكتروني
$Attachments مسارات الملفات للمرفقات
$EmbedImages دمج الصور مباشرة في البريد الإلكتروني
$MailPlaceholderReplacement استبدال العناصر النائبة داخل محتوى البريد
$FormEntry إنشاء إدخال اختياري في 00_form

Zusammenfassung

يمكن الوصول إلى نظام البريد المركزي في CMS bluetronix مباشرة من كود PHP الخاص بك.

Für normalen E-Mail- und Newsletter-Versand wird verwendet:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

بالإضافة إلى ذلك، تتوفر نماذج CMS:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

Die SMTP-Konfiguration kann entweder über:

داخلي
→ بريد إلكتروني → حسابات

أو:

Extern
→ Email → Server - Extern

erfolgen.

كل إرسال بريد إلكتروني يتم أيضاً عبر:

00_MailCache

protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.

يمكن للمطورين استخدام نظام البريد الموجود في CMS bluetronix مباشرة من سكريبتات PHP الخاصة بهم، دون الحاجة إلى تنفيذ منطق SMTP بالكامل بأنفسهم.

الأسئلة المتكررة

ما الذي يسأله العملاء غالباً

ما هي الوظائف التي يوفرها نظام البريد المركزي لـ PHP؟

لاستخدام البريد الإلكتروني العادي والنشرات الإخبارية، استخدم BlueSMTPMail(). وللإرسال بالتزامن مع نماذج CMS، يتوفر أيضاً BlueFormSend().

أين يمكنني العثور على حسابات البريد الإلكتروني الداخلية؟

يتم إعداد حسابات البريد الإلكتروني الداخلية تحت البريد الإلكتروني → الحسابات. لإرسالها، قم بتعيين $SMTPType إلى داخلي. يجب أن تكون عنوان المرسل مرتبطًا بحساب تم إعداده.

كيف أستخدم خادم SMTP خارجي؟

قم بإعداد بيانات الدخول تحت البريد الإلكتروني → الخادم - خارجي واستخدم $SMTPType = "خارجي";. يجب أن يتناسب عنوان المرسل مع التكوين المختار.

ما الفرق بين البريد والنشرة الإخبارية؟

مع $MailType = "بريد"; يتم إرسال بريد إلكتروني عادي، والمستلم موجود في $To. لإرسال نشرة إخبارية، قم بتعيين $MailType = "نشرة إخبارية"; ومرر المستلمين عبر $NewsletterTo.

كيف أرسل عدة مستلمين للنشرة الإخبارية؟

أدخل العناوين في $NewsletterTo وافصل كل عنوان بريد إلكتروني بواسطة السطر الجديد.

هل يمكنني إرسال نص وHTML في نفس البريد الإلكتروني؟

نعم. النص البسيط يكون في $TextContent، بينما تمرر رسالة HTML المنسقة عبر $HTMLContent.

كيف أضيف مرفقات إلى البريد الإلكتروني؟

عبر $Attachments، يمكنك تمرير مسارات الملفات ضمن الموقع. عند وجود مرفقات متعددة، يتم فصل المسارات بواسطة السطور الجديدة.

كيف يمكنني تضمين الصور مباشرة في البريد الإلكتروني؟

تستخدم القالب لذلك $EmbedImages = "نعم";. يتم تضمين الصور المستخدمة داخل رسالة HTML بناءً على وظيفة CMS الموضحة.

ما الغرض من استخدام MailPlaceholderReplacement؟

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

كيف أرشف الإرسال كإدخال نموذج إضافي؟

قم بتعيين في BlueSMTPMail() القيمة $FormEntry = "نعم";. وفقًا للقالب، سيتم حفظ إدخال إضافي في 00_form.

أين يمكنني التحقق من حالة الإرسال؟

يصف القالب جدول 00_MailCache لهذا الغرض. يتم تخزين إدخالات الإرسال المدخلة هناك لمدة أسبوع. إدخال المعالجة بمفرده ليس دليلاً إضافيًا على التسليم للمستلم.

متى استخدم BlueFormSend()؟

BlueFormSend() مخصص لإرسال البريد الإلكتروني باستخدام نماذج CMS. من بين المعاملات، تشمل التحكم في الإرسال، الموضوع، نسخة للعميل، أرشيف النموذج، ومعرف النموذج.

CMS