จากผู้เขียน:สวัสดีเพื่อนๆ ดังนั้นเราจึงเขียนบทความต่อเนื่องเพื่อทำความรู้จักกับหนึ่งใน CMS ที่ได้รับความนิยมมากที่สุดสำหรับการสร้างร้านค้าออนไลน์ - OpenCart ในบทความนี้เราจะพูดถึงวิธีตั้งค่าอีเมลใน OpenCart
หนึ่งในฟังก์ชั่นที่จำเป็นใน OpenCart คือการส่งอีเมล หลังจากส่งคำสั่งซื้อแต่ละครั้งแล้ว ควรส่งข้อมูลเกี่ยวกับคำสั่งซื้อไปยังผู้จัดการสถานที่ทางอีเมล เพื่อให้เขาสามารถประมวลผลคำสั่งซื้อที่ได้รับได้ทันที ขอแนะนำให้ส่งจดหมายถึงลูกค้าเกี่ยวกับคำสั่งซื้อที่เสร็จสมบูรณ์ซึ่งจะเป็นมารยาทที่ดีต่อลูกค้า มาดูวิธีและสถานที่ในการตั้งค่าเมลใน OpenCart
ตามที่คุณเข้าใจ สิ่งนี้เสร็จสิ้นในแผงผู้ดูแลระบบที่เราไป ไปที่เมนูระบบ - การตั้งค่า และไปที่แก้ไขการตั้งค่าร้านค้า ที่นี่เราสนใจแท็บ Showcase เป็นหลัก เปิดแล้วค้นหาช่องอีเมล
มีที่อยู่อีเมลอยู่แล้วนี่คือที่อยู่ที่ระบุไว้เมื่อติดตั้งเครื่องยนต์ หากเหมาะสมกับการแจ้งเตือนจากเว็บไซต์ก็ปล่อยไว้หากไม่เหมาะสมให้ระบุอันอื่นแทน
ยอดเยี่ยม! ขณะนี้การแจ้งเตือนทั้งหมดจากไซต์ควรถูกส่งไปยังอีเมลนี้ ในกรณีนี้ อย่าลืมทดสอบจุดนี้ด้วยการสร้างคำสั่งทดสอบ หากคุณได้รับอีเมลพร้อมรายละเอียดคำสั่งซื้อ แสดงว่าทุกอย่างทำงานได้ หากไม่มีตัวอักษร (อย่าลืมตรวจสอบโฟลเดอร์สแปม) คุณสามารถลองระบุกล่องจดหมายอื่น โดยควรระบุในโดเมนอื่น หากมีปัญหาเดียวกันกับกล่องจดหมายที่สอง เป็นไปได้มากว่าฟังก์ชันอีเมลถูกปิดใช้งานบนโฮสติ้งของคุณและจดหมายจะไม่ถูกส่งไป
ไม่เป็นไร มีวิธีแก้ไขสำหรับสถานการณ์นี้ ในหน้าเดียวกันสำหรับการแก้ไขการตั้งค่าจะมีแท็บ Mail ให้ไปที่แท็บนั้น
แท็บนี้ให้คุณกำหนดค่าการส่งอีเมลโดยใช้โปรโตคอล SMTP ในการดำเนินการนี้ คุณต้องมีกล่องจดหมายที่ให้คุณส่งจดหมายจากโปรแกรมรับส่งเมลได้ ตัวอย่างเช่น นี่อาจเป็นกล่องจดหมาย yandex.ru, mail.ru, gmail.com, ukr.net และอื่นๆ คุณต้องอนุญาตให้ส่งอีเมลจากโปรแกรมรับส่งเมลในการตั้งค่ากล่องจดหมายของคุณ และรับการตั้งค่า SMTP: โฮสต์และพอร์ต คุณป้อนการตั้งค่าที่จำเป็นทั้งหมดลงในช่องที่มีให้ตามคำแนะนำ แทนที่จะเป็นเมล ให้เลือก SMTP เป็นโปรโตคอลเมล เพื่อให้ชัดเจนยิ่งขึ้นเกี่ยวกับวิธีการทำงานกับ SMTP ฉันขอแนะนำให้ดูจากนั้นคุณจะเข้าใจว่าการตั้งค่าเหล่านี้คืออะไรและใช้งานอย่างไร
เมื่อวันที่ 28 ตุลาคม 2019 มีการเผยแพร่โมดูลเวอร์ชันใหม่สำหรับการส่งการแจ้งเตือนจาก OpenCart/ocStore ซึ่งแก้ไขข้อบกพร่องที่ตัวเลือกชื่อผู้ส่งทำงานไม่ถูกต้องหากลูกค้า/คู่ค้าใช้ชื่อผู้ส่งมากกว่า 1 ชื่อ หากคุณใช้โมดูลเวอร์ชันเก่า เราขอแนะนำให้คุณติดตั้งโมดูลใหม่
หากโมดูลของเราไม่ได้ติดตั้งตามขั้นตอนมาตรฐานที่อธิบายไว้ด้านล่าง อาจเป็นไปได้มากว่าเกิดจากการใช้เทมเพลตที่ไม่ได้มาตรฐาน การแก้ไขไฟล์กลไก หรือเนื่องจากการใช้โมดูลที่ใช้ตัวดัดแปลง ในกรณีนี้ โปรดติดต่อฝ่ายสนับสนุนของเรา แล้วพวกเขาจะช่วยคุณติดตั้งโมดูลสำหรับส่งการแจ้งเตือนทาง SMS/อีเมล
การใช้โมดูลการรวมการส่งจดหมาย "ไซต์: การส่งจดหมายและการแจ้งเตือนทาง SMS/อีเมล" และ OpenCart/ocStore ทำให้คุณสามารถส่งการแจ้งเตือนทาง SMS และอีเมลสำหรับเหตุการณ์ที่ระบุไปยังผู้ดูแลระบบและลูกค้าของร้านค้าออนไลน์ได้
ดังที่คุณทราบ OpenCart/ocStore 3.0 ไม่มีความสามารถในการติดตั้งไฟล์ในโฟลเดอร์ระบบ (และเราต้องการสิ่งนี้) ดังนั้น:
ตัวแปรการระบุตัวตนต่อไปนี้มีอยู่ในข้อความ:
คุณสามารถดูประวัติข้อความ SMS ที่ส่งได้ในแท็บ "ประวัติ SMS"
คุณสามารถดูประวัติข้อความอีเมลที่ส่งได้ในบัญชีส่วนตัวของคุณสำหรับการส่ง SMS SMS
คุณสามารถตรวจสอบและเติมเงินได้ที่แท็บ "การตั้งค่า"
มีการอธิบายปัญหาและคำถามยอดนิยมเกี่ยวกับการทำงานร่วมกับการรวมเข้าด้วยกัน
ทดสอบข้อความฟรี
ลูกค้ากำหนดงานเปลี่ยนข้อความขาเข้าเป็นอีเมลของผู้ดูแลระบบ การส่งข้อความอีเมล์ไปที่ opencart ฉันคิดว่ามันเป็นงานง่ายๆ แต่ฉันใช้เวลา 2 วัน ปัญหาแรกเกิดขึ้นเมื่อส่งเมลไปที่ mail.ru ด้วยเหตุผลบางประการ ข้อความจึงไม่มาถึงบริการอีเมลนี้
ฉันก็เลยได้รับภารกิจ จากนั้นฉันก็เริ่มตั้งค่า opencart และเปลี่ยนการตั้งค่าอีเมลสำหรับไซต์และผู้ดูแลระบบ ฉันเริ่มการทดสอบแต่ข้อความยังไม่มาถึง จนกระทั่งถึงช่วงเวลาแห่งการเปลี่ยนแปลง ฉันลองใช้แบบฟอร์มนี้ด้วยความอยากรู้ ลูกค้าเขียนว่าข้อความมาถึงแล้ว แต่งานของเขาคือเปลี่ยนส่วนหัวของจดหมายจาก: อีเมล กล่าวคือ เขาได้รับข้อความพร้อมอีเมลของผู้ส่งและที่อยู่ทางไปรษณีย์ของผู้รับ
ฉันไม่รู้ว่าทำไมจึงต้องมีภาพนี้ แต่ก็เอาล่ะ
ดังนั้นลูกค้าจึงเขียนจดหมายออกไป แต่หลังจากเปลี่ยนที่อยู่ทางไปรษณีย์เป็นแหล่งข้อมูลจาก mail.ru ฉันไม่สามารถรับจดหมายได้ ฉันจะไม่เขียนถึงลูกค้าโดยที่ฉันไม่เข้าใจว่าเกิดอะไรขึ้น ในที่สุดก็ใช้เวลาทั้งวันในการทำเช่นนี้ ฉันยังไม่เข้าใจว่าคำถามคืออะไร ฉันเพิ่งเปลี่ยนที่อยู่ทางไปรษณีย์เป็นยานเดกซ์
ช่วงเวลาต่อมา ฉันสับสนอย่างสิ้นเชิงว่าทุกอย่างมาจากไหน แม้ว่าฉันจะทำงานกับ 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 ได้รับจดหมายถึงผู้ดูแลระบบเกี่ยวกับคำสั่งซื้อพร้อมข้อมูลทั้งหมดในจดหมาย คุณต้องแก้ไขสองไฟล์:
กำลังเปิดไฟล์ สั่งซื้อ.phpและมองหาบรรทัด 270 ที่มีข้อความนี้:
$mail->setTo($order_info['อีเมล']);
$เมล->setFrom($จาก);
$เมล->
$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->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->ภาษา->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));
$เมล->ส่ง();
การแทรกโค้ดนี้ถูกแทรกลงในส่วนที่สร้างจดหมายและส่งไปยังผู้ซื้อ และเรายังส่งจดหมายฉบับเดียวกันนี้ให้กับผู้ดูแลระบบด้วย อย่างที่คุณเห็น เราได้แทรกเทมเพลตจดหมายแล้ว สั่งซื้อ_แจ้งเตือน )))
สิ่งที่เราทำข้างต้นจะไม่เปลี่ยนแปลงอะไรเลย เราจะยังคงได้รับจดหมายอนาถเหมือนเดิม และทั้งหมดเป็นเพราะเรายังไม่ได้เปลี่ยนเทมเพลตจดหมายที่ควรส่งถึงผู้ดูแลระบบ!
ดูสิ ฉันทำทุกอย่างบนเทมเพลต Opencart มาตรฐานด้วยธีมเริ่มต้น ดังนั้นฉันจึงสร้างโฟลเดอร์ mail1 สำหรับสิ่งนี้โดยเฉพาะ และในนั้นเราสร้างไฟล์ order_alert.twig หากคุณมีธีมของคุณเอง ก็สร้างโฟลเดอร์เมลหาก มันไม่ได้อยู่ที่นั่น
ข้อมูลสำหรับไฟล์ order_alert.twig จะถูกคัดลอกมาจากไฟล์โดยสมบูรณ์ order_add.twig (ซึ่งอยู่ที่ /catalog/view/theme/default/template/mail)
หลังจากนั้นเราจะได้รับจดหมายดังต่อไปนี้)
ตามปกติวิดีโอ))
ไม่มีรายการที่คล้ายกัน