الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية إرسال رسائل بريد إلكتروني مخصصة برمجيًا في Magento 2

ستساعدك المقالة التالية: كيفية إرسال رسائل بريد إلكتروني مخصصة برمجيًا في Magento 2

<؟ php

مساحة الاسم [Vendor]\[Module]\المساعد؛

استخدام Magento \ Framework \ App \ Helper \ Context ؛

استخدام Magento \ Framework \ Mail \ Template \ TransportBuilder ؛

استخدم Magento \ Framework \ App \ Helper \ AbstractHelper ؛

استخدم Magento \ Framework \ Translate \ Inline \ StateInterface ؛

استخدام Magento \ Store \ Model \ StoreManagerInterface ؛

توسّع بيانات الفئة AbstractHelper

{

محمي $ transportBuilder؛

المحمية $ storeManager ؛

المحمية $ inlineTranslation؛

الوظيفة العامة __construct (

سياق $ سياق ،

TransportBuilder $ transportBuilder ،

StoreManagerInterface $ storeManager ،

StateInterface $ state

)

{

$ this-> transportBuilder = $ transportBuilder ؛

$ this-> storeManager = $ storeManager ؛

$ this-> inlineTranslation = $ state؛

الأصل :: __ بناء (سياق $) ؛

}

وظيفة عامة sendEmail ()

{

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

$ templateId = ‘my_custom_email_template’؛ // قالب معرف

$ fromName = ‘Admin’؛ // اسم المرسل

يحاول {

// متغيرات القالب تمر هنا

$ templateVars = [

                ‘msg’ => ‘test’,

                ‘msg1’ => ‘test1’

            ]؛

$ storeId = $ this-> storeManager-> getStore () -> getId () ؛

$ من = [’email’ => $fromEmail, ‘name’ => $fromName]؛

$ this-> inlineTranslation-> Suspend ()؛

$ storeScope = \ Magento \ Store \ Model \ ScopeInterface :: SCOPE_STORE؛

$ templateOptions = [

                ‘area’ => \Magento\Framework\App\Area::AREA_FRONTEND,

                ‘store’ => $storeId

            ]؛

$ transport = $ this-> transportBuilder-> setTemplateIdentifier ($ templateId، $ storeScope)

-> setTemplateOptions ($ templateOptions)

-> setTemplateVars ($ templateVars)

-> setFrom ($ from)

-> addTo ($ toEmail)

-> getTransport () ؛

$ النقل-> sendMessage () ؛

$ this-> inlineTranslation-> استئناف () ؛

} catch (\ استثناء $ e) {

$ this -> _ logger-> info ($ e-> getMessage ()) ؛

}

}

}