English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، ستعلم كيفية إرسال بريد إلكتروني نصي أو HTML باستخدام دالة mail() في PHP من سكربت.
إرسال رسائل البريد الإلكتروني هو ممارسة شائعة جدًا في تطبيقات الويب، مثل إرسال بريد استقبال عند إنشاء المستخدم لحساب على موقعك، إرسال نشرة إخبارية للمستخدمين المسجلين، أو الحصول على ملاحظات أو تعليقات من المستخدمين عبر نموذج الاتصال على الموقع، وما إلى ذلك.
يمكنك استخدام دالة mail() المدمجة في PHP لإنشاء رسائل بريد إلكتروني نصية أو HTML مformatted من تطبيق PHP وإرسالها إلى مستلم أو أكثر. يمكن تقديم синтكس هذه الدالة كما يلي:
mail(to, subject, message, headers, parameters)
يُلخص الجدول التالي معلمات هذه الدالة.
المعلمات | وصف |
---|---|
إلزامي - المعلمات التالية إلزامية | |
إلى | عنوان بريد المستلم. |
الموضوع | الموضوع الذي سيتم إرسال البريد الإلكتروني. لا يجب أن يحتوي هذا المعامل، أي سطر العنوان، على أي مسافات خالية (\n). |
الرسالة | تحديد الرسالة التي سيتم إرسالها. يجب أن تكون كل سطر على حدة منفصلة بمسافات خالية. لا يجب أن يتجاوز عدد الأحرف في كل سطر 70 حرفًا. |
إلزامي - المعلمات التالية إلزامية | |
العناوين | عادة ما يتم استخدامها لإنشاء عناوين إضافية مثل 'المرسل'، 'المستلم', 'المستلم السري'. يجب فصل العناوين الإضافية باستخدام رمز النهاية للسطر و الرمز الجديد للسطر CRLF (\r\n). |
المعلمات | للتحكم في المعلمات الأخرى. |
أكثر طرق إرسال البريد الإلكتروني باستخدام PHP بسيطة هي إرسال بريد إلكتروني نصي. في المثال التالي، نبدأ أولاً بتعريف المتغيرات- عنوان البريد الإلكتروني للمستلم، سطر العنوان، و نص البريد الإلكتروني- ثم نمرر هذه المتغيرات إلى دالة mail() لإرسال البريد الإلكتروني.
<?php $to = '[email protected]'; $subject = 'طلب الزواج'; $message = 'هلا، جان، هل ترغبين في الزواج مني؟'; $from = '[email protected]'; //إرسال البريد الإلكتروني if(mail($to, $subject, $message)){ echo 'تم إرسال بريدك الإلكتروني بنجاح.'; } else { echo 'لا يمكن إرسال البريد الإلكتروني. حاول مرة أخرى.'; } ?>
عند إرسال رسالة نصية باستخدام PHP، يتم اعتبار جميع المحتويات نصًا بسيطًا. سنحسن هذا الخروج وتحويل البريد الإلكتروني إلى بريد إلكتروني بتنسيق HTML.
لإرسال بريد إلكتروني HTML، العملية ستكون نفسها. ولكن، هذه المرة، نحتاج إلى تقديم رؤوس أخرى ومسار رسالة HTML.
<?php $to = '[email protected]'; $subject = 'طلب الزواج'; $from = '[email protected]'; //لإرسال بريد إلكتروني HTML، يجب تعيين رأس Content-type $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //إنشاء عنوان البريد الإلكتروني $headers .= 'From: '.$from."\r\n". 'Reply-To: '.$from."\r\n". 'X-Mailer: PHP/' . phpversion(); //كتابة بريد إلكتروني بسيط باستخدام HTML $message = '<html>'; $message .= '<h1 style="color:#f40;">مرحبًا، Jane!</h1>'; $message .= '<p style="color:#080;font-size:18px;">هل ستعيش معي؟</p>'; $message .= '</html>'; //إرسال بريد إلكتروني if(mail($to, $subject, $message, $headers)){ echo 'تم إرسال بريدك الإلكتروني بنجاح.'; } else { echo 'لا يمكن إرسال البريد الإلكتروني. حاول مرة أخرى.'; } ?>
ملاحظة:وظيفة PHP mail() هي جزء من نواة PHP، ولكن يجب عليك إعداد خادم بريد على جهازك لجعلها تعمل بالفعل.
في الفصول القادمة (معالجة نموذج PHPوتحقق من نموذج PHPفي هذا الفصل، ستتعلم كيفية إنشاء نموذج الاتصال التفاعلي على موقعك الإلكتروني باستخدام هذا PHP لارسال البريد الإلكتروني لتلقي تعليقات ومراجعات المستخدمين عبر البريد الإلكتروني.