PHP mail() फ़ंक्शन का उपयोग करके ईमेल कैसे भेजें
PHP मेल क्या है?
PHP मेल एक अंतर्निहित PHP फ़ंक्शन है जिसका उपयोग PHP स्क्रिप्ट से ईमेल भेजने के लिए किया जाता है।
मेल फ़ंक्शन निम्नलिखित पैरामीटर स्वीकार करता है:
- ईमेल आईडी
- विषय
- मैसेज
- CC या BC ईमेल पते
- यह उपयोगकर्ताओं को महत्वपूर्ण घटनाओं के बारे में सूचित करने का एक लागत प्रभावी तरीका है।
- वेबसाइट पर संपर्क फ़ॉर्म उपलब्ध कराकर उपयोगकर्ताओं को ईमेल के माध्यम से आपसे संपर्क करने की सुविधा दी जाती है, जो उपलब्ध कराई गई सामग्री को ईमेल करता है।
- डेवलपर्स इसका उपयोग ईमेल द्वारा सिस्टम त्रुटियाँ प्राप्त करने के लिए कर सकते हैं
- आप इसका उपयोग अपने न्यूज़लेटर ग्राहकों को ईमेल भेजने के लिए कर सकते हैं।
- आप इसका उपयोग उन उपयोगकर्ताओं को पासवर्ड रीसेट लिंक भेजने के लिए कर सकते हैं जो अपना पासवर्ड भूल जाते हैं
- आप इसका उपयोग ईमेल एक्टिवेशन/पुष्टि लिंक भेजने के लिए कर सकते हैं। यह उपयोगकर्ताओं को पंजीकृत करने और उनके ईमेल पते सत्यापित करने के लिए उपयोगी है
मेल PHP का उपयोग क्यों/कब करें
PHP का उपयोग करके मेल भेजना
PHP मेल फ़ंक्शन का मूल सिंटैक्स इस प्रकार है
<?php mail($to_email_address,$subject,$message,[$headers],[$parameters]); ?>
यहाँ,
- “$to_email_address” मेल प्राप्तकर्ता का ईमेल पता है
- “$subject” ईमेल का विषय है
- “$message” भेजा जाने वाला संदेश है।
- “[$headers]” वैकल्पिक है, इसका उपयोग CC, BCC जैसी जानकारी शामिल करने के लिए किया जा सकता है
- CC कार्बन कॉपी का संक्षिप्त रूप है। इसका उपयोग तब किया जाता है जब आप किसी इच्छुक व्यक्ति को एक कॉपी भेजना चाहते हैं यानी किसी कंपनी को भेजी गई शिकायत ईमेल को शिकायत बोर्ड को CC के रूप में भी भेजा जा सकता है।
- बीसीसी ब्लाइंड कार्बन कॉपी का संक्षिप्त नाम है। यह सीसी के समान है। बीसीसी अनुभाग में शामिल ईमेल पते अन्य प्राप्तकर्ताओं को नहीं दिखाए जाएंगे।
सरल Mail Transmission प्रोटोकॉल (एसएमटीपी)
PHP मेलर सरल का उपयोग करता है Mail Transmission मेल भेजने के लिए प्रोटोकॉल (SMTP).
किसी होस्टेड सर्वर पर, SMTP सेटिंग्स पहले से ही सेट की गई होंगी।
SMTP मेल सेटिंग्स को PHP इंस्टॉलेशन फ़ोल्डर में “php.ini” फ़ाइल से कॉन्फ़िगर किया जा सकता है।
अपने लोकलहोस्ट पर SMTP सेटिंग्स कॉन्फ़िगर करना मान लें कि आप विंडोज़ पर xampp का उपयोग कर रहे हैं, तो “C:\xampp\php” निर्देशिका में “php.ini” ढूंढें।
- नोटपैड या किसी भी टेक्स्ट एडिटर का उपयोग करके इसे खोलें। हम इस उदाहरण में नोटपैड का उपयोग करेंगे। संपादन मेनू पर क्लिक करें
- खोजें... मेनू पर क्लिक करें
- खोज संवाद मेनू दिखाई देगा
- अगला खोजें बटन पर क्लिक करें
- प्रविष्टियों का पता लगाएं
- [मेल फ़ंक्शन]
- ; एक्सएएमपीपी: यदि आप SMTP सर्वर के साथ काम करना चाहते हैं तो सेमी कॉलम को न हटाएं Mercury
- ; एसएमटीपी = लोकलहोस्ट
- ; एसएमटीपी_पोर्ट = 25
- SMTP और smtp_port से पहले अर्धविराम हटाएँ और SMTP को अपने पर सेट करें एसएमटीपी सर्वर और पोर्ट को अपने smtp पोर्ट पर सेट करें। आपकी सेटिंग इस प्रकार दिखनी चाहिए
- एसएमटीपी = smtp.example.com
- smtp_port = 25
- नोट एसएमटीपी सेटिंग्स आपके वेब होस्टिंग प्रदाता से प्राप्त की जा सकती हैं।
- यदि सर्वर को प्रमाणीकरण की आवश्यकता है, तो निम्नलिखित पंक्तियाँ जोड़ें।
- auth_username = example_username@example.com
- auth_password = उदाहरण_पासवर्ड
- नये परिवर्तन सहेजें.
- पुनः प्रारंभ अपाचे सर्वर.
PHP Mail उदाहरण
आइये अब एक उदाहरण देखें जिसमें एक साधारण मेल भेजा जाता है।
<?php $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail function'; $headers = 'From: noreply @ company . com'; mail($to_email,$subject,$message,$headers); ?>
आउटपुट:
नोट: उपरोक्त उदाहरण केवल 4 अनिवार्य पैरामीटर लेता है।
आपको उपरोक्त काल्पनिक ईमेल पते को वास्तविक ईमेल पते से बदलना चाहिए।
ईमेल उपयोगकर्ता इनपुट को स्वच्छ करना
उपरोक्त उदाहरण में सरलता के लिए ईमेल पते और अन्य विवरणों के लिए स्रोत कोड में हार्ड कोडित मानों का उपयोग किया गया है।
मान लीजिए आपको उपयोगकर्ताओं के लिए एक संपर्क फ़ॉर्म बनाना है, उसमें विवरण भरना है और फिर उसे सबमिट करना है।
- उपयोगकर्ता गलती से या जानबूझकर हेडर में कोड डाल सकते हैं जिसके परिणामस्वरूप स्पैम मेल भेजा जा सकता है
- अपने सिस्टम को ऐसे हमलों से बचाने के लिए, आप एक कस्टम फ़ंक्शन बना सकते हैं जो मेल भेजे जाने से पहले मानों को साफ़ और मान्य करता है।
आइए एक कस्टम फ़ंक्शन बनाएं जो फ़िल्टर_var अंतर्निहित फ़ंक्शन का उपयोग करके ईमेल पते को मान्य और स्वच्छ करता है।
Filter_var फ़ंक्शन Filter_var फ़ंक्शन का उपयोग उपयोगकर्ता इनपुट डेटा को स्वच्छ और मान्य करने के लिए किया जाता है।
इसका मूल वाक्यविन्यास इस प्रकार है।
<?php filter_var($field, SANITIZATION TYPE); ?>
यहाँ,
- “filter_var(…)” सत्यापन और स्वच्छता फ़ंक्शन है
- “$field” फ़िल्टर किए जाने वाले फ़ील्ड का मान है।
- "सैनिटाइजेशन प्रकार" मैदान पर किए जाने वाले सैनिटाइजेशन का प्रकार है जैसे;
- फ़िल्टर_VALIDATE_EMAIL - यह वैध ईमेल पतों के लिए सत्य और अवैध ईमेल पतों के लिए असत्य लौटाता है।
- फ़िल्टर_सैनिटाइज़_ईमेल - यह ईमेल पतों से अवैध वर्णों को हटाता है। info\@domain.(com) info@domain.com लौटाता है।
- फ़िल्टर_सैनिटाइज़_यूआरएल - यह URL से अवैध वर्णों को हटाता है। http://www.example@.comé >http://www.example@.com लौटाता है
- फ़िल्टर_सैनिटाइज़_स्ट्रिंग - यह स्ट्रिंग मानों से टैग हटाता है। am बोल्ड am बोल्ड हो जाता है।
नीचे दिया गया कोड सुरक्षित मेल भेजने के लिए एक कस्टम फ़ंक्शन का उपयोग करता है।
<?php function sanitize_my_email($field) { $field = filter_var($field, FILTER_SANITIZE_EMAIL); if (filter_var($field, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail '; $headers = 'From: noreply @ company. com'; //check if the email address is invalid $secure_check $secure_check = sanitize_my_email($to_email); if ($secure_check == false) { echo "Invalid input"; } else { //send email mail($to_email, $subject, $message, $headers); echo "This email is sent using PHP Mail"; } ?>
आउटपुट:
सुरक्षित Mail
ईमेल को अनपेक्षित प्राप्तकर्ताओं द्वारा प्रेषण के दौरान रोका जा सकता है।
इससे ईमेल की विषय-वस्तु अनपेक्षित प्राप्तकर्ताओं तक पहुंच सकती है।
सुरक्षित मेल हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल सिक्योर (HTTPS) के माध्यम से ईमेल प्रेषित करके इस समस्या का समाधान करता है।
HTTPS संदेशों को भेजने से पहले उन्हें एन्क्रिप्ट करता है।
सारांश
- RSI PHP अंतर्निहित फ़ंक्शन मेल() का उपयोग PHP स्क्रिप्ट से मेल भेजने के लिए किया जाता है
- सुरक्षित मेल भेजने के लिए डेटा पर सत्यापन और स्वच्छता जांच आवश्यक है
- PHP में निर्मित फ़ंक्शन फ़िल्टर_var() डेटा सैनिटाइजेशन और सत्यापन करने का एक आसान और कुशल तरीका प्रदान करता है