सभी को नमस्कार! आज, मैं आपको लारवेल में एक निर्धारित कार्य बनाने की प्रक्रिया के बारे में बताने जा रहा हूँ। हम उपयोगकर्ताओं को दैनिक मार्केटिंग ईमेल भेजने का उदाहरण लेंगे।
सबसे पहले, आइए निम्नलिखित आर्टिसन कमांड का उपयोग करके एक नया मेल करने योग्य वर्ग बनाएं:
php artisan make:mail DailyMarketingEmail --view
यह कमांड रिसोर्सेज/व्यू/मेल/ डायरेक्टरी के अंदर संबंधित व्यू फाइल, daily-marketing-email.blade.php के साथ, ऐप/मेल डायरेक्टरी में एक नया मेल करने योग्य क्लास जेनरेट करता है। आप इस दृश्य फ़ाइल में ईमेल की सामग्री को अनुकूलित कर सकते हैं।
इसके बाद, हम एक आर्टिसन कमांड बनाएंगे जो हमारे डेलीमार्केटिंग ईमेल को भेजने का काम संभालेगा। निम्नलिखित कमांड चलाएँ:
php artisan make:command SendDailyMarketingEmail
यह कमांड ऐप/कंसोल/कमांड डायरेक्टरी में एक नया कमांड क्लास जेनरेट करेगा।
अपना कमांड जनरेट करने के बाद, आपको जेनरेटेड क्लास में दो प्रमुख गुण दिखाई देंगे:
संरक्षित $हस्ताक्षर: यह आपके आर्टिसन कमांड के नाम और हस्ताक्षर को परिभाषित करता है।
संरक्षित $विवरण: यह आपके आदेश का विवरण प्रदान करता है।
इस क्लास में हैंडल विधि वह जगह है जहां आप अपने कमांड के तर्क को परिभाषित करेंगे।
सब कुछ सेट हो जाने के बाद, आप चलाकर अपने सभी आर्टिसन कमांड को सूचीबद्ध कर सकते हैं:
पीएचपी कारीगर
आपको सूची में अपना आदेश देखना चाहिए:
अब, मार्केटिंग ईमेल भेजने के लिए हैंडल विधि के भीतर तर्क को परिभाषित करें:
each(function ($user) { Mail::to($user->email)->send(new DailyMarketingEmail); }); } }
हैंडल विधि में, हम डेटाबेस से सभी उपयोगकर्ताओं को पुनः प्राप्त करते हैं और प्रत्येक को डेलीमार्केटिंगईमेल भेजते हैं।
आप चलाकर अपने कमांड का मैन्युअल रूप से परीक्षण कर सकते हैं:
php artisan app:send-daily-marketing-emails
परीक्षण के दौरान भेजे गए ईमेल को पकड़ने और देखने के लिए मेलट्रैप या मेलहॉग जैसे टूल का उपयोग करने पर विचार करें।
अंत में, इस ईमेल को दैनिक रूप से भेजने को स्वचालित करने के लिए, हमें ऐप/कंसोल/ निर्देशिका में स्थित Kernel.php फ़ाइल की शेड्यूल विधि में कमांड को शेड्यूल करना होगा:
command('app:send-daily-marketing-emails')->dailyAt('08:30'); } /** * Register the commands for the application. */ protected function commands(): void { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }
यहां, हम हर दिन सुबह 08:30 बजे कमांड को चलाने के लिए शेड्यूल करने के लिए dailyAt('08:30') विधि का उपयोग करते हैं। आप आवश्यकतानुसार समय समायोजित कर सकते हैं।
ईमेल कतारबद्ध करना: बड़ी संख्या में उपयोगकर्ताओं के लिए, ईमेल को एक साथ भेजने के बजाय कतारबद्ध करना एक अच्छा अभ्यास है। यह मेल करने योग्य वर्ग में ShodQueue इंटरफ़ेस को कार्यान्वित करके किया जा सकता है।
प्रदर्शन संबंधी विचार: बड़े उपयोगकर्ता आधारों के लिए, कुशल प्रदर्शन सुनिश्चित करने के लिए डेटाबेस प्रश्नों और ईमेल भेजने की प्रक्रिया को अनुकूलित करने पर विचार करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3