SPEED 3 NET
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

SPEED 3 NET

Web master tools - programmes - scripts - html code - code css
 
الرئيسيةSpeed Portalأحدث الصوردخولالتسجيل

 

 ارسال البريد بواسطة الـ Send mail via Php

اذهب الى الأسفل 
كاتب الموضوعرسالة
khdiwi
ELkInG 3s
ELkInG 3s



عدد المساهماتى : 1994
الجنس : ذكر

ارسال البريد بواسطة الـ Send mail via Php Empty
مُساهمةموضوع: ارسال البريد بواسطة الـ Send mail via Php   ارسال البريد بواسطة الـ Send mail via Php Emptyالثلاثاء أغسطس 25, 2009 6:54 pm

ارسال البريد بواسطة الـ Php
يعد من ابسط الأمور التى يمكن ان تنفذها.

لكن مع تقدم العلم وتقنية المعلومات فى الوقت الراهن.

تنوع اشكال الرسائل البريدية وتنوعت طرق ارسالها.

وعليه اصبحت اكثر تعقيدا فى برمجتها وتهيئتها لتتماشى مع الأساليب الحديثة للمراسلة البريدية الموجودة هذه الأيام.

وبإذن الله ابتداء من هذا الدرس ومايليه من عدة دروس سوف نقوم بإنشاء عدة اشكال وامثلة مختلفة عن ارسال البريد بواسطة الـ Php
(لاحظ ان ارسال البريد لن يعمل الا اذا كنت على خادم يتيح لك ارسال البريد, ولن تعمل على جهازك الشخصى الا اذا كان معد بشكل صحيح لإرسال البريد)
اول مثال هو لإرسال بريد يحتوى على نص فقط. بإستخدام الدالة mail()

هذه الدالة تأخذ 5 معطيات وتعود لنا بـ true اذا تم قبول ارسال البريد, او false ان لم يتم الإرسال.

كما اريد ان اضيف ملحوظة, وهو ان الدالة لا تؤكد لنا هل تم استقبال البريد ام لا, لكنها تؤكد لنا هل تم الإرسال من خادمك ام لا.
اول ثلاث معطيات فقط هم المعطيات الإجبارية, وهما كالتالى



عنوان (او عدة عناوين يتم الفصل بين كل منهم بعلامة الفصلة ,)
البريد الذى سيتم ارسال البريد اليه.

عنوان البريد الذى سيتم ارساله.

الرسالة التى سيتم ارسالها.


المعطى الرابع وهو عبارة عن headers اضافية.
والـ headers هى التى يتم بواسطتها, تحديد بريد راسل البريد.
وايضا نوع محتوى البريد, هل هو بريد نصى, ام بريد بهيئة HTML
وهل يحتوى على مرفقات او صور, الخ.

نبدأ مثالنا الأول بسم الله.
كود PHP:

//البريد الذى سيتم الإرسال اليه
$to = 'email@example.com';
//عنوان الرسالة
$subject = 'A test message for mailer script';
//محتوى الرسالة
$message = "this is\njust test\nfor php mail script";
//يمكننا ايضا تحديد من قام بإرسال البريد بالشكل التالى
$headers = "From: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]\nX-Mailer: php mail tester";
//توكل على الله وابدأ الإرسال
mail($to, $subject, $message, $headers);


لاحظ داخل الرسالة نفسها فصلنا بين الأسطر بالرمز \n

ولاحظ هذا ايضا ماقمنا به فى الـ headers

بالنسبة للكود الذى تم وضعه بالـ headers الأول From وهو لتحديد بريد مرسل البريد.
الثانى هو X-Mailer
وهو لقب بريد المرسل, كاتوضيح لمعنى لقب, الم يسبق لك ورأيت فى احد الرسائل التى يتم ارسالها لك من اى موقع فى خانة الراسل شئ شبيه بالتالى
كود:

From: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] "the mailer name here"
حيث [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هو بريد الراسل
و the mailer name here هو نص يحتوى على اسم الشخص او الموقع الذى تم الإرسال بواسطته.

اسم الشخص او الموقع هو الذى تم اضافته بعد X-Mailer.

اتمنى تكون الصورة واضحة.

ماذا اردت ارسال البريد لأكثر من شخص؟
يمكنك فعل ذلك عن طريق اضافة العناوين البريدية التى تريد الإرسال لها فى المعطى to مع الفصل بين كل منهم بـ , او اضافتهم داخل header اضافى bcc او cc
بالشكل التالى
كود PHP:

$email = "email1@example.com, [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط], [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]";
$headers = "From: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]\nX-Mailer: php mail tester\nbcc: {$email}";


ماذا اذا اردنا جعل البريد يتعامل بأكواد HTML ؟ هذا امر بسيط بإضافة
كود:

\nContent-Type: text/html
للـ headers
لكنه ينتج عنه مشاكل, لأنه مازال هناك برامج لقراءة البريد لا تدعم الـ html

الحل يكون كالتالى (برجاء عدم تجاهل التعليقات لأنها بها افادة جيدة للفهم)
كود PHP:

//البريد الذى سيتم الإرسال اليه
$to = 'email@example.com';
//عنوان الرسالة
$subject = 'email with text and html format';
//محتوى الرسالة النصية
$textMessage = "this is
just test
for php mail script";

//محتوى الرسالة بإستخدام تهيئة
//html
$htmlMessage = "this is<br /><h3>Just test</h3><br />for <b>Php</b> mail script";
//الهيدر الإفتراضى
$headers = "From: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]\nX-Mailer: php mail tester";

//الفاصل بين مختلف المحتوى
//يجب ان يكون فريد وليس مكرر
//لذلك سوف نعتمد على دالة date()
//ودالة
//md5
//لتكوين 32 حرف غير مكررين
//ودالة time لجعل هذا الفاصل اكثر تعقيدا
//ونقلل من فرصة تكراره
$sep = "Php-Seprator". md5(date("r", time()));

//نبدأ الأن بإضافة المزيد من الهيدر, لنخبر برنامج استلام البريد
//انه هناك اكثر من اصدار من هذه الرسالة
//وان يقوم بقرائته بالصيغة المدعومة به
$headers .= "\nContent-Type: multipart/alternative; boundary=\"{$sep}\"";

// ثم نبدأ الأن بتعريف محتوى الرسالة التى سيتم ارسالها.
//اول شئ نبدأ الرسالة بـ --
//ثم نضيف الفاصل الذى قمنا بتعريفه مسبقا
//ببداية كل جزء من اجزاء الرسالة
//وبعد ذلك نضيف معرف نوع الرسالة
//ثم نضيف سطر فارغ لنبدأ محتوى هذا الجزء
//وفى نهاية الرسالة
//نضيف --
//ثم الفاصل ثم العلامة -- مرة اخرى
$message = <<< MESSAGE
--{$sep}
Content-Type: text/plain
{$textMessage}
--{$sep}
Content-Type: text/html
{$htmlMessage}
--{$sep}--
MESSAGE;
//توكل على الله وابدأ الإرسال
mail($to, $subject, $message, $headers);


اتمنى تكون التعليقات وصلت المطلوب.

وان يكون كل شئ بالكود واضح وبسيط بإذن الله.

اراكم بالدرس المقبل لمزيد من الطرق الأكثر احترافية لإرسال البريد.

مع خالص تمنياتى بالتوفيق بإذن الله.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
ارسال البريد بواسطة الـ Send mail via Php
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» ارسال بريد يحتوى على مرفقات فى الـ Php
» مواقع تقدم خدمة البريد الألكتروني pop3 مجاناَ
» مواقع تقدم خدمة البريد الألكتروني بأسم موقعك مجاناَ

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
SPEED 3 NET :: |l|l| Technology ParT|l|l| :: برامج و طرق عمل البرامج-
انتقل الى: