من المؤلف:تحياتي ايها الاصدقاء. لذلك، نواصل سلسلة المقالات المخصصة للتعرف على أحد أشهر أنظمة إدارة المحتوى (CMS) لإنشاء المتاجر عبر الإنترنت - OpenCart. سنتحدث في هذه المقالة عن كيفية إعداد البريد الإلكتروني في OpenCart.
إحدى الوظائف الضرورية في OpenCart هي إرسال البريد. بعد تقديم كل طلب، يجب إرسال المعلومات المتعلقة به إلى مدير الموقع عبر البريد الإلكتروني حتى يتمكن من معالجة الطلب المستلم على الفور. كما يُنصح بإرسال خطاب إلى العميل بخصوص الطلب المكتمل، فهذا سيكون من حسن الخلق تجاه العميل. دعونا نرى كيف وأين يمكن إعداد البريد في OpenCart.
كما تفهم، يتم ذلك في لوحة الإدارة، حيث نذهب. انتقل إلى قائمة النظام - الإعدادات وانتقل إلى تعديل إعدادات المتجر. نحن هنا مهتمون بشكل أساسي بعلامة التبويب Showcase. افتحه وابحث عن حقل البريد الإلكتروني.
يوجد بالفعل عنوان بريد إلكتروني هنا، وهذا هو العنوان الذي تم تحديده عند تثبيت المحرك. إذا كان مناسبًا للإشعارات من الموقع، فاتركه، وإذا لم يكن مناسبًا، فاشير إلى آخر بدلاً منه.
عظيم! الآن يجب إرسال كافة الإخطارات من الموقع إلى هذا البريد الإلكتروني. تحسبًا لذلك، تأكد من اختبار هذه النقطة عن طريق إنشاء أمر اختبار. إذا تلقيت بريدًا إلكترونيًا يحتوي على تفاصيل الطلب، فهذا يعني أن كل شيء يعمل. إذا لم يكن هناك خطاب (تأكد من التحقق من مجلد البريد العشوائي)، فيمكنك محاولة تحديد صندوق بريد آخر، ويفضل أن يكون ذلك في مجال مختلف. إذا كانت هناك نفس المشكلة في صندوق البريد الثاني، فمن المرجح أن يتم تعطيل وظيفة البريد على الاستضافة الخاصة بك ولا يتم إرسال الرسائل ببساطة.
لا يهم، هناك حل لهذا الوضع. في نفس الصفحة لتحرير الإعدادات، توجد علامة تبويب "البريد"، انتقل إليها.
تسمح لك علامة التبويب هذه بتكوين إرسال البريد باستخدام بروتوكول SMTP. للقيام بذلك، يجب أن يكون لديك صندوق بريد يسمح لك بإرسال البريد منه عملاء البريد. على سبيل المثال، قد يكون هذا صندوق بريد yandex.ru، mail.ru، gmail.com، ukr.net وغيرها. تحتاج في الإعدادات صندوق البريدالسماح بإرسال البريد من عملاء البريد والحصول على إعدادات SMTP: المضيف والمنفذ. يمكنك إدخال كافة الإعدادات الضرورية في الحقول المتوفرة، باتباع المطالبات. بدلاً من البريد، حدد SMTP كبروتوكول البريد. لتوضيح كيفية العمل مع SMTP، أوصي بالنظر إليه، منه ستفهم ما هي هذه الإعدادات وكيفية استخدامها.
في 28 أكتوبر 2019، تم نشر إصدارات جديدة من وحدة إرسال الإشعارات من OpenCart/ocStore، والتي أصلحت خطأً في عمل غير صحيحمحدد اسم المرسل إذا كان العميل/الشريك لديه أكثر من اسم مرسل واحد. إذا كنت تستخدم أكثر النسخة القديمةالوحدة، نوصي بإعادة تثبيت الوحدة.
إذا لم يتم تثبيت الوحدة الخاصة بنا بواسطة الإجراء القياسيالموصوفة أدناه، يرجع هذا على الأرجح إلى استخدام قالب غير قياسي، أو إجراء تعديلات على ملفات المحرك، أو بسبب استخدام الوحدات النمطية التي تستخدم المعدلات. في هذه الحالة، اتصل بالدعم لدينا وسيساعدونك في تثبيت وحدة لإرسال إشعارات الرسائل القصيرة/البريد الإلكتروني.
باستخدام وحدة التكامل البريدي "الموقع: رسائل وإشعارات الرسائل القصيرة/البريد الإلكتروني" وOpenCart/ocStore، يمكنك إرسال إشعارات الرسائل القصيرة والبريد الإلكتروني لأحداث محددة إلى مسؤول وعملاء المتجر عبر الإنترنت.
كما تعلم، OpenCart/ocStore 3.0 ليس لديه القدرة على تثبيت الملفات في مجلد النظام (ونحن بحاجة إلى ذلك)، لذلك:
تتوفر متغيرات التخصيص التالية في نص الرسالة:
يمكنك عرض سجل رسائل SMS المرسلة في علامة التبويب "سجل الرسائل القصيرة".
يمكنك عرض سجل رسائل البريد الإلكتروني المرسلة في حساب شخصيرسائل نصية قصيرة..
يمكنك التحقق من رصيدك وتعبئته من خلال علامة التبويب "الإعدادات".
تم وصف المشكلات والأسئلة الأكثر شيوعًا المتعلقة بالعمل مع التكامل.
رسائل تجريبية مجانية
قام العميل بتعيين مهمة تغيير الرسالة الواردة إلى البريد الإلكتروني للمسؤول. إرسال رسائل البريد الإلكتروني إلى opencart. اعتقدت أنها كانت مهمة بسيطة للغاية، لكنها استغرقت مني يومين. نشأت الصعوبة الأولى عند إرسال البريد إلى mail.ru. لسبب ما، لم تصل الرسائل ببساطة إلى خدمة البريد هذه.
لذلك حصلت على المهمة. ثم بدأت بإعداد opencart وغيرت إعدادات البريد الإلكتروني للموقع وللمسؤول. لقد بدأت الاختبار، ولكن الرسائل لم تصل. حتى لحظة التغيير، قمت بتجريب النموذج بدافع الفضول فقط. كتب العميل أن الرسالة وصلت، ولكن جوهر مهمته كان تغيير رأس الرسالة من: البريد الإلكتروني، بمعنى آخر، كان يستقبل الرسائل مع بريد المرسل والمستلم العنوان البريدي.
لا أعرف سبب الحاجة إلى هذه الصورة على الإطلاق، لكن حسنًا.
وهكذا أرسل العميل البريد، ولكن بعد تغيير العنوان البريدي إلى مورد من mail.ru، لم أتمكن من تلقي الرسالة، لكنني لن أكتب إلى العميل أنني لا أفهم ما يحدث. وانتهى الأمر بأخذ يوم كامل للقيام بذلك. ما زلت لم أفهم ما هو السؤال، لقد قمت للتو بتغيير العنوان البريدي إلى Yandex.
في اللحظة التالية، كنت في حيرة من أمري بشأن مصدر كل شيء، على الرغم من أنني كنت أعمل بالفعل على opencart. تم قضاء اليوم التالي في فهم بنية نظام إدارة المحتوى (CMS).
ملف التقديم الرئيسي:
نظام\مكتبة\mail.php
بالقياس، نجد حقولًا مماثلة في contact.tpl ونكررها. ثم نجد وحدة التحكم contact.php بنفس الاسم فقط ملحق PHP. في في هذه الحالةكان مكتوبا في السطر
$mail->setFrom($this->config->get("config_email"));
تم استبداله ب
$mail->setFrom($this->request->post["email"]);
إذا كنت بحاجة إلى تمرير القيم من النموذج إلى نص الحرف، فقم بإضافتها إلى وحدة التحكم
$mail->setText($this->request->post["name"]); $mail->setText($this->request->post["phone"]); $mail->setText($this->request->post["subject"]);
أنا فقط أتعامل مع Opencart 3 ولا أحب حقًا تثبيت الإضافات غير المفهومة، لكن أحب تفكيك كل شيء ودراسته، وبعد إطلاق الموقع للعميل وفي نفس اليوم بعد الطلب الأول ، تقرر إعادة صياغة الرسالة التي يتلقاها المسؤول والمدير بشأن الطلب، أي ماذا ستقول الرسالة:
في المجمل، أنت بحاجة إلى جميع الحقول التي يملأها المشتري على الموقع.
وفي النهاية، هذا ما وصلت إليه.
عندما يقوم العميل بتقديم طلب، يتلقى رسالة تحتوي على جميع المعلومات:
بينما يتلقى المسؤول مثل هذه الرسالة الحزينة (((
حسنًا، كما تفهم، أو بالأحرى، سيقول أي شخص قام بإدارة متاجره الخاصة عبر الإنترنت على الفور أنه ليس جيدًا، فلا تتصل أو تعرف أي معلومات من أجل الحصول على المزيد معلومات مفصلةتحتاج إلى تسجيل الدخول إلى لوحة الإدارة، ولكن ماذا لو كنت على الطريق ولا يمكنك تسجيل الدخول إلى لوحة الإدارة؟
حسنًا، في النهاية، ذهبت في الاتجاه الآخر واستبدلت الحروف ببساطة، أي. سيتلقى المسؤول نفس الرسالة التي يتلقىها العميل)
والآن القليل من السحر وهو في الحقيبة)
لكي يتلقى opencart خطابًا إلى المسؤول حول طلب يتضمن جميع المعلومات الموجودة في الرسالة، تحتاج إلى تعديل ملفين:
افتح الملف order.phpوابحث عن السطر 270 حيث يوجد هذا النص:
$mail->setTo($order_info['email']);
$mail->setFrom($from);
البريد $->
$mail->setSubject(html_entity_decode(sprintf($language->get('text_subject'), $order_info['store_name'], $order_info['order_id']), ENT_QUOTES, 'UTF-8'));
$mail->setHtml($this->load->view('mail/order_add', $data));
$mail->send();
ونلصق أسفله هذا الكود:
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
$mail->setSubject(html_entity_decode(sprintf($this->language->get('text_subject'), $this->config->get('config_name'), $order_info['order_id']), ENT_QUOTES, ' UTF-8'));
$mail->setHtml($this->load->view('mail1/order_alert', $data));
$mail->send();
تم إدراج هذا الرمز في القسم الذي يتم فيه إنشاء خطاب وإرساله إلى المشتري، ونرسل أيضًا نفس الخطاب إلى المسؤول، كما ترون، لقد قمنا بإدراج قالب خطاب order_alert )))
ما فعلناه أعلاه لن يغير شيئًا فعليًا، سنظل نتلقى نفس الرسالة البائسة، وكل ذلك لأننا لم نغير بعد قالب الرسالة الذي يجب إرساله إلى المسؤول!
انظر، لقد فعلت كل شيء في قالب Opencart القياسي باستخدام السمة الافتراضية، وبالتالي قمت بإنشاء مجلد mail1 خصيصًا لهذا الغرض وقمنا بإنشاء ملف order_alert.twig فيه، إذا كان لديك السمة الخاصة بك، فما عليك سوى إنشاء مجلد البريد إذا ليس هناك
يتم نسخ بيانات الملف order_alert.twig بالكامل من الملف order_add.twig (الموجود في /catalog/view/theme/default/template/mail)
وبعد ذلك سوف نتلقى الرسالة التالية عبر البريد)
حسنًا كالفيديو المعتاد))
لا توجد إدخالات مماثلة.