|
بسم الله الرحمن الرحيم ..
البريد الإلكتروني من اروع خدمات الانترنت, يمكنك بضغطة زر ان تراسل و
تتواصل مع احباءك و لو كانوا في الطرف الاخر من الارض ...
و لكن ليس هذا فقط : فالبريد الإلكتروني يعد من أهم الطرق - ان لم يكن
الطريقة الوحيدة- التي يتواصل بها أي موقع مع زواره و مستخدميه .. لذلك سوف
نرى في هذا الدرس كيف يمكنك تسخير هذه التقنية في مشروعك القادم ...
سيتناول هذا الدرس الامور التالية :
1- دالة ()mail .
2- ارسال نص بسيط .
3- واصفات البريد و وظائفها + زوائد البريد MIME
4- ارسال بريد على هيئة HTML .
5- ارسال رسالة بنسختين : نص و HTML .
6- ارسال ملحقات .
المقال مأخوذ بشكل كبير من :
http://www.zend.com/zend/spotlight/sendmimeemailpart1.php
http://www.webmasterbase.com/printTemplate.php?aid=679
http://www.phpbuilder.com/columns/kartic20000807.php3?print_mode=1
http://www.expita.com/header1.html
http://web.nps.navy.mil/~miller/e-mail_hdr.html
http://real.fissure.org/articles/headers.shtml
|
الدالة ()mail
تقوم هذه الدالة بارسال بريد الكتروني حسب التعريف التالي :
| Code .. |
 |
bool mail ( string to, string subject, string message
[, string additional_headers [, string additional_parameters]])
|
 |
أداء الدالة كالتالي :
- ترسل الدالة الرسالة الموجودة في message الى العنوان او العناوين في
to وموضوع البريد هو subject .
- ترجع الدالة صفرا عند الفشل و واحد عند النجاح .
- ترسل الدالة الى اكثر من بريد ... عندها فقط عليك ان تفصل البريد عن
الاخر بفاصلة .
- بامكانك ارسال نصوص بسيطة و رسائل اكثر تعقيدا باستخدام هذه الدالة و
ايضا بامكانك ارسال ملفات على شكل ملحقات ...
- لا حظ ان القيمة التي ترجعها الدالة لا تعكس هل وصل البريد او لا ...
انما تعكس ان PHP استطاعت تمرير طلب الارسال الى مزودالبريد الموجود
على الخادم ..
مثال :
| Code .. |
 |
<?
$people = array('saad@bogus.com','ali@bogus.com',
'mahmood@bogus.com');
$to=
implode(',',$people);
$subject="محاضرة
مفيدة";
$message="
[الرافضة واليهود والواقع اليوم]
للشيخ سعد البريك
تجدها هنا في اذاعة طريق الاسلام
http://www.islamway.com/bindex.php?section=lessons&
lesson_id=14933&scholar_id=17";
mail($to,$subject,$message);
?>
|
 |
اذا كان لديك متسع من الوقت ستستفيد من قراءة هذه الـ RFCs :
http://www.ietf.org/rfc/rfc1896.txt
http://www.ietf.org/rfc/rfc2045.txt
http://www.ietf.org/rfc/rfc2046.txt
http://www.ietf.org/rfc/rfc2047.txt
http://www.ietf.org/rfc/rfc2048.txt
http://www.ietf.org/rfc/rfc2049.txt
:) ...
|
ارسال نص بسيط
ارسال نص خالي من التنسيق من ابسط الامور عند استخدام الدالة mail
كل ما عليك هو وضع النص في متغير و ارساله ... و اليك المثال
التالي :
| Code .. |
 |
<?
$subject='حكم
الغناء';
$message='
السلام عليكم ...
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله في تحريم الغناء
بعنوان : الأغاني هل هي حرام أم لا ،
رغم أستماعها بقصد التسلية فقط
راجعها على الرابط
http://www.ibnbaz.com/display.asp?f=bz00500.htm
اخوك مفلح
';
mail('ahmad@islamway.net',$subject,$message);
?>
|
 |
لا حظ أني لم استخدم n\ لوضع سطر جديد ... كل ما عليك هو وضع سطر
جديد كما في المثال فهذا يعطي شكلا افضل للكود ... لكن اذا اردت
استخدام العلامة n\ تأكد من انك تستخدم علامتي التنصيص المزدوجة( "
" ) لا الفردية ( ' ' ) .
|
واصفات البريد و MIME
واصفات البريد ( Mail Headers ) هي معلومات اضافية تصف البريد
، تعطيك بعض المعلومات عن مصدر البريد , مرسل البريد , إلى من
يرسل الرد و غيرها ...
يمكن أن نسميها تحسينات للخدمة الأساسية و التي لا يوجد بها
سوى عنوان مرسل البريد , الموضوع , و البريد نفسه...
ومن ذلك نستخلص أن أي بريد إليكتروني يتكون من قسمين :
1) الواصفات . 2) نص الرسالة .
هنالك الكثير من واصفات البريد و بامكانك مراجعة المرجع التالي
:
http://www.dsv.su.se/jpalme/ietf/mail-headers/mail-headers.txt
دعنا نرى ما هي واصفات البريد الموجودة و المهمة بالنسبة لنا
...
هذه هي الواصفات التي استقبلها عادة في بريد جواب من رسائل
المنتدى :
| Code .. |
 |
Received: (qmail 62927 invoked by uid 0); 28 Nov 2002
13:17:43 -0000
Received: from nobody@linhost2.interservers.com by
server1.gawab.com
by uid 1004 with qmail-scanner-1.12 (. Clear:.
Processed in
0.154407 secs); 28 Nov 2002 13:17:43 -0000
Received: from unknown (HELO linhost2.interservers.com)
(209.166.169.200)
by 209.61.185.20 with SMTP; 28 Nov 2002 13:17:42 -0000
Received: from nobody by linhost2.interservers.com with
local (Exim 3.36 #1)
id 18HOXw-0000MJ-00 for abomuhammed@islamway.net;
Thu, 28 Nov 2002 08:17:36 -0500
To : abomuhammed@islamway.net
From : support@phpvillage.com
Message-Id:
X-Antiabuse: This header was added to track abuse,
please include it
with any abuse report
X-Antiabuse: Primary Hostname -
linhost2.interservers.com
X-Antiabuse: Original Domain - islamway.net
X-Antiabuse: Originator/Caller UID/GID - [99 99] / [99
99]
X-Antiabuse: Sender Address Domain -
linhost2.interservers.com
Date : 28 Nov 2002, 03:17:36 PM
Subject : التبليغ برد على موضوعك - ...........
|
 |
لاحظ ان الرسالة ليست جزءا من الواصفات ....
أيضاً لاحظ ان شكل ( تركيب ) الواصفة هو : اسم الواصفة ثم ":"
ثم القيمة ، إذا احتاجت القيمة لاكثر من سطر فيجب ان تبدأ
الاسطر الاضافية بمسافة .
بعض الاحيان قيمة الواصفة هي نص واحد مثل :
| Code .. |
 |
Content-type : text/html
|
 |
و في بعض الاحيان أكثر من نص واحد و عندها يجب ان تفصل القيم
بفاصلة منقوطة ، و لتصغير السطر يمكنك كتابته على سطرين كما
قلنا و انتبه الى أن السطر الثاني يبدأ بفراغ :
| Code .. |
 |
Content-Disposition : inline;filename=fatwa.gif,
creation-date="Sat,8 Jan 1997 16:00:00";
modification-date="Wed, 12 Feb 1997 16:29:51
|
 |
ايضا لاحظ أن كل واصفة على سطر لوحدها .
ينتهي قسم الواصفات بسطر فارغ ... اي ان برنامج البريد يقرأ
الواصفات بشكل متتالي و عندما يصادف سطراً فارغا فانه يعلم أن
كل ما يأتي هو نص الرسالة ...
كل واصفة لها دلالة :
Recieved : تحمل هذه الواصفة معلومات عن النقاط في الشبكة التي
مر بها البريد قبل ان يصل الى المكان النهائي ... لاحظ وجود
اكثر من واصفة من هذا النوع لان البريد قد يمر باكثر من نقطة و
كل نقطة تدون معلوماتها .
To : البريد المراد ارسال الرسالة اليه .
From : البريد المرسل .
Message-Id : رمز تعريفي للرسالة يولده البرنامج المرسل و لا
يتكرر مع اي رسالة اخرى .
X-Antiabuse : مجموعة معلومات للحيلولة دون ارسال بريد مزعج .
Date : يحدد هذا الواصف متى ارسلت الرسالة .
Subject : يحدد هذا الواصف عنوان الرسالة .
ومن الواصفات الاخرى :
Reply-To : البريد الذي ترسل اليه الردود على هذه الرسالة .
X-Mailer : اسم البرنامج الذي ارسل الرسالة .
MIME-Version : رقم نسخة "امتدادات البريد الاليكتروني متعددة
الاغراض" المستخدمة .
Content-Type : النوع الرئيسي و النوع الفرعي للرسالة مثل :
text/html الرئيسي هو text و الفرعي هو html .
Content-Transfer_Encoding : الترميز المستخدم لارسال الرسالة
.
هنالك العديد من هذه الواصفات و معظمها متفق على معانيها ...
لكن هنالك واصفات للاستخدام الخاص و هي التي تبدأ بـ -X ...
عندما تستخدم الدالة mail فان بعض هذه الواصفات تولد تلقائيا
مثل To اما الاخريات فان بامكانك تحديدها ... ارجع الى تعريف
الدالة ستجد ان
المدخل الرابع هو additional_headers وعن طريقه تستطيع تحديد
ما يحلو لك من الواصفات ... فقط يجب الفصل بين كل واصفة و
الاخرى بـ "n\" ( سطر جديد )
كمثال دعنا نضيف حقلا لـ From و Reply-To في بريدنا السابق .
| Code .. |
 |
<?
$subject='حكم
الغناء';
$message='
السلام عليكم ...
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله في تحريم
الغناء
بعنوان : الأغاني هل هي حرام أم لا، رغم أستماعها بقصد
التسلية فقط
راجعها على الرابط
http://www.ibnbaz.com/display.asp?f=bz00500.htm
اخوك مفلح
';
$header="From:
abomuhammed <abomuhammed@islamway.net> \n
Reply-To: abomuhammed@islamway.net \n\n";
mail('ahmad@islamway.net',$subject,$message,$header);
?>
|
 |
لاحظ استخدام علامة التنصيص المزدوجة و ليس الفردية لانها
تتعرف على علامة السطر الجديد التي ذكرناها مسبقاً وهي n\ .
اذا تعاملنا بشكل سليم مع هذه الواصفات فسوف نتمكن من ارسال
رسالة منسقة على شكل HTML و أيضاً سنتمكن من ارسال ملحقات ...
تابع القراءة .....
|
ارسال نصوص بتنسيق HTML
لكي نرسل رسالة بتنسيق HTML كل ماعلينا فعله هو أن نخبر
البرنامج المستقبل أننا نستخدم امتدادت البريد ( أي أن هذا
البريد ليس عادياً ) و أيضاً أن نخبره نوع محتوى الرسالة
...... كيف ؟!
سنستخدم الواصفتين : MIME-Version و Content-type
MIME-Version ستأخذ القيمة 1.0 لتخبر ابرنامج المستقبل
للبريد اننا نستخدم امتددات البريد النسخة رقم 1.0 .
Content-type ستأخذ القيمة : text/html و تخبر البرنامج ان
الرسالة مكتوبة على شكل HTML .
دعنا نعدل المثال السابق بحيث يصبح الارتباط الى موقع
الشيخ ابن باز عبارة عن رابط تشعبي :
| Code .. |
 |
<?
$subject='حكم
الغناء';
$message='
<html>
<body dir=rtl>
<h1>السلام عليكم ...</h1>
<br>
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله في تحريم
الغناء <br>
بعنوان : <font color=red> الأغاني هل هي حرام أم لا
،
رغم أستماعها بقصد التسلية فقط</font>
<br>
راجعها على الرابط
<br>
<a
href="http://www.ibnbaz.com/display.asp?f=bz00500.htm">
من موقع الشيخ ابن باز رحمه الله</a>
<br>
اخوك مفلح
</body>
</html>
';
$header="From:
abomuhammed <abomuhammed@islamway.net> \n".
"Reply-To:
abomuhammed@islamway.net \n".
"MIME-Version :
1.0 \n".
"Content-type:
text/html ; charset=windows-1256 \n";
mail('ahmad@islamway.net',$subject,$message,$header);
?>
|
 |
سهل ... أليس كذلك ؟!
|
ارسال رسالة بأكثر من تنسيق
يوجد العديد من برامج البريد غير قادرة على عرض نصوص
HTML مثل برنامج pine على اليونكس ... لذلك قد يقال
انه من الافضل ارسال رسائل
نصية من غير تنسيق تفاديا لهذه المشكلة ..
الحقيقة هي انه بامكاننا ارسال الرسالة بتنسيق و بدون
تنسيق مرة واحدة... نعم سيكبر حجم الرسالة ... لكن
تتفادى عدم قرائتها من بعض المستخدمين
و تستفيد من القدرات الموجودة لدى البعض الاخر فتجمل
شكل الرسالة ...
لكي نتمكن من ذلك يجب ان نفصل الرسالتين (اي الرسالة
النصية العادية و الرسالة بتنسيق HTML ) عن بعضهما و
نخبر البرنامج المستقبل عن نوع كل رسالة ...
دعنا نرى كيف تبدو الرسالة عند دمج الرسالتين :
اولا : الواصفات :
| Code .. |
 |
To: ahmad
From: abomuhammed
Subject: Fatwa about Singing
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="Boundry==587r5rs"
|
 |
وهنـا بعض النقـاط الجديدة :
Content-type قيمتها multipart/alternative و هذا يعني
ان الرسالة مرسلة باكثر من صيغة كل واحده مفصولة عن
الاخرى : alternative تعني انه في حال الفشل في عرض
احدهما جرب عرض الاخر ... لكنهما لن يعرضا في الوقت
نفسه !
و من قيمة هذه الواصفة نرى ان اقسام الرسالة مفصولة
بقيمة العنصر boundry و هي Boundry==587r5rs
هذه القيمة لا تعني شيئا .. كل ماعليك هو ان تتأكد
انها لا ترد في نص الرسالة ... بامكانك استخدام دوال
العشوائية في PHP للحصول عى نتائج جيدة ...
لنرى الان كيف نفصل الرسالتين :
| Code .. |
 |
<?
$message="
mime message هذه الرسالة تأتيك باكثر من تنسيق او
صيغة
--Boundry==587r5rs
Content-type : text/plain;charset=windows-1256
Content-Transfer-Encoding : 7bit
احمد راجع هذه الفتوى
http://www.ibnbaz.com/display.asp?f=bz00500.htm
--Boundry==587r5rs
Content-type : text/html
Content-Transfer-Encoding : 7bit
<html>
<body dir=rtl>
<h1>السلام عليكم ...</h1>
<br>
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله في
تحريم الغناء <br>
بعنوان : <font color=red> الأغاني هل هي حرام أم
لا ،
رغم أستماعها بقصد التسلية فقط</font>
<br>
راجعها على الرابط
<br>
<a
href=http://www.ibnbaz.com/display.asp?f=bz00500.htm
target=new>
من موقع الشيخ ابن باز رحمه الله</a>
<br>
اخوك مفلح
</body>
</html>
--Boundry==587r5rs--";
?>
|
 |
دعننا نفكك هذه الرسالة :
- تبدأ الرسالة بالجملة التحذيرية "هذه الرسالة تأتيك
باكثر من تنسيق او صيغة" و فائدتها انها تعلم المستقبل
بان الرسالة في صيغتين في حال فشل برنامجه في عرضهما
... غالبا لن ترى هذه الجملة الا في برامج البريد
الاليكتروني القديمة و التي تفشل في فهم آليات البريد
الاليكتروني متعدد الاغراض MIME .
- يأتي بعد ذلك الفاصل Boundry==587r5rs و لاحظ انه
مسبوق بشرطتين .
- ثم نخبر البرنامج عن نوع الرسالة التالية و طريقة
نقلها : بدأنا بالرسالة النصية لذلك وضعنا النوع
text/plain و تشفير النقل 7bit لاحظ السطر الفارغ بعد
واصفات كل قسم .... مهمة جدا !
- بعدها و ضعنا الرسالة .
- ثم الفاصل مسبوقا بشرطتين (Boundry==587r5rs--) .
- ثم اخبرنا البرنامج ان الرسالة التاليه من نوع HTML
و ذلك باختيار النوع text/html و تشفير النقل 7bit .
- و بعدها و ضعنا الرسالة .
- ثم وضعنا الفاصل Boundry==587r5rs مسبوقا بشرطتين و
منتهيا ايضا بشرطتين لكي نخبر البرنامج بانتهاء
الرسالة المركبة من رسالتين .
وهذا هو الكود كاملا :
| Code .. |
 |
<?
$subject='حكم
الغناء';
$header="To:
ahmad <ahmad@acme.com>\n".
"From:
abomuhammed<abomuhammed@islamway.net>\n".
"Subject: حكم
الغناء\n".
"MIME-Version:
1.0\n".
"Content-Type:
multipart/alternative;
boundary=\"Boundry==587r5rs\"\n";
$message="this
is a mime message -هذه الرسالة تأتيك باكثر من
تنسيق او صيغة
--Boundry==587r5rs
Content-type : text/plain
Content-Transfer-Encoding : 7bit
احمد راجع هذه الفتوى
http://www.ibnbaz.com/display.asp?f=bz00500.htm
--Boundry==587r5rs
Content-type : text/html
Content-Transfer-Encoding : 7bit
<html>
<body dir=rtl>
<h1>السلام عليكم ...</h1>
<br>
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله في
تحريم الغناء <br>
بعنوان : <font color=red> الأغاني هل هي حرام أم
لا ،
رغم أستماعها بقصد التسلية فقط</font>
<br>
راجعها على الرابط
<br>
<a
href=\"http://www.ibnbaz.com/display.asp?f=bz00500.htm
target=new\">
من موقع الشيخ ابن باز رحمه الله</a>
<br>
اخوك مفلح
</body>
</html>
--Boundry==587r5rs--";
mail('ahmad@acme.com',$subject,$message,$header);
?>
|
 |
|
ارسال ملحقات مع البريد
ارسال الملحقات مع البريد لا يختلف عن ارسال رسالة
بصيغتين كما رأينا سابقا ... كل ما علينا عمله هو
:
- اخبار البرنامج المستقبل ان الرسالة تحتوي على
اجزاء مختلفة النوع : افرض انك سترسل رسالة نصية
مع صورة او مقطع صوتي أو ملف وورد ... كل واحد له
نوعه الخاص.... و يتم ذلك باعطاء الواصفة
Content-type القيمة multipart/mixed ... تذكر
اننا اعطيناه القيمة multipart/alternative
في الفقرة السابقة :
- فصل الاقسام المختلفة عن بعضها البعض بفاصل كما
مر معنا .
- يجب ان نخبر البرنامج المستقبل كيف يتعامل مع
الملحقات ... بعض الملحقات (مثل الصور) يمكن عرضها
مع الرسالة و لايلزم ان تظهر كملحق و البعض الاخر
يجب ان يعامل كملحق و لايمكن ان يظهر في الرسالة و
لهذا سنستخدم واصفة الظهور (لانها تتحكم في ظهور
الملحق) Content-Disposition ...
هذا لايلزم البرنامج بان يظهرها كما نحدد انما هو
اقتراح منا لكيفية تقديم الرسالة... قد يقبله
البرنامج او يرفضه .
شكل هذه الواصفة كالتالي :
| Code .. |
 |
Content-Disposition ":" disposition-type
*(";" disposition-parm)
|
 |
تمكننا هذه الواصفة من تحديد التالي :
- كيفية التعامل : اظهار الملحق داخليا في الرسالة
(dispostion-type قيمته inline) او ان يظهر كملحق
عادي خارج الرسالة (dispostion-type قيمته
attachment)
- معلومات عن الملف ( disposition-parm ) مثل :
filename : اسم الملف و فيه نقترح اسما للملف اذا
اراد البرنامج تخزينه او كتابته لاي ملف و يجب ان
يكون حاليا انجليزيا (راجع rfc2183 )
creation-date : الوقت الذي انشء فيه الملف
modification-date : اخر وقت عدل فيه الملف
read-date : اخر وقت تمتفيه قراءة الملف (لاحظ ان
المعلومات الثلاث الاخيرة تفقد عند ارسال ملف على
الانترنت و هذه هي اهمية هذه الخيارات)
size : حجم الملف
كمثال عند ارسال صورة يمكن ان يكون واصفة الظهور
كالتالي :
| Code .. |
 |
Content-Disposition: attachment;
filename=genome.jpeg;
modification-date="Wed, 12 Feb 1997 16:29:51
-0500";
|
 |
تلاحظ ان الواصفة يمكن ان تكون طويلة ... بامكانك
وضعها على اكثر من سطر لكن تأكد من ان كل سطر
اضافي يبدأ بمسافة فارغة على الاقل كما ذكرنا .
| Code .. |
 |
Content-Disposition: attachment;
filename=genome.jpeg;
modification-date="Wed, 12 Feb 1997 16:29:51
-0500";
|
 |
هنالك امور يجب مراعاتها عند ارسال ملحقات و اهمها
ان الملفات التي تحتوي بيانات ثنائية Binary Data
يجب ان تشفر باستخدام الدالة base64_encode لكي
نتمكن من ارسالها عبر الانترنت اما النصوص العادية
فلايلزم تشفيرها ...
لنرى الان كيف نرسل ملحقاً : في المثال الذي
ذكرناه لنفرض اننا نريد ايضا ارسال صورة فتوى
تحريم الغناء (ملف gif) و نصها (ملف وورد doc) الى
احمد ...
اريدك ان ترى انني لا أرسل له رابطا للصورة و لكن
ارسل الصورة نفسها !!!
الخطة :
أولاً : نقرأ ملف الصورة و الوورد و نشفره
باستخدام base64_encode و نقسمه الى اجزاء صغيرة
باستخدام chunk_split ليوافق التعليمات في rfc
2045 .
ثانياً : نولد فاصلا عشوائيا لكي نستخدمه لفصل
الكلام عن الصورة في الرسالة .
ثالثاً : ننشئ واصفات الرسالة العامة بحيث تبين
اننا نرسل رسالة ذات انواع مختلفة ...
رابعاً : نولد الرسالة ...
تذكر : نوع mime لصور gif هو image/gif بينما
لملفات الوورد هو application/octet-stream .
بسم الله ..
| Code .. |
 |
<?
// general
settings
$gif_name="fatwa.gif";
$doc_name="fatwa.doc";
// قراءة
الملفين
$file=fopen($gif_name,'rb');
// لاننا نقرأ
ملف ثنائي rb نستخدم
$gif_data=fread($file,filesize($gif_name));
fclose($file);
$file=fopen($doc_name,'rb');
$doc_data=fread($file,filesize($doc_name));
fclose($file);
// تشفير الملف
و تقسيمه
$gif_data
=
chunk_split(base64_encode($gif_data));
$doc_data
=
chunk_split(base64_encode($doc_data));
// توليد فاصل
$random=md5(time());
$boundry="Boundry==$random";
// توليد واصفات
الرسالة
$headers="To:
ahmad <ahmad@acme.com>\n".
"From:
abomuhammed<abomuhammed@islamway.net>\n".
"Subject: حكم
الغناء\n".
"MIME-Version:
1.0\n".
"Content-Type:
multipart/mixed; boundary=\"$boundry\"\n";
$message="
this is a mime message -هذه الرسالة تأتيك
باكثر من تنسيق او صيغة
--$boundry
Content-type : text/html
Content-Transfer-Encoding : 7bit
<html>
<body dir=rtl>
<h1>السلام عليكم ...</h1>
<br>
احمد ... وجدت فتوى الشيخ ابن باز رحمه الله
في تحريم الغناء <br>
بعنوان : <font color=red> الأغاني هل هي
حرام أم لا ،
رغم أستماعها بقصد التسلية فقط</font>
<br>
راجعها على الرابط
<br>
<a href=\"http://www.ibnbaz.com/display.asp?f=bz00500.htm
target=new\">
من موقع الشيخ ابن باز رحمه الله</a>
<br>
اخوك مفلح
</body>
</html>
--$boundry
Content-type: image/gif
Content-Transfer-Encoding: base64
Content-Disposition: inline;filename=\"fatwa.gif\"
$gif_data
--$boundry
Content-type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment;filename=\"fatwa.doc\"
$doc_data
--$boundry--";
echo mail('ahmad@acme.com','حكم
الغناء',$message,$headers);
?>
|
 |
جربت هذا الكود على بريدي هوتميل و جواب و أدى
المطلوب ..
هنالك بعض الملاحظات :
1- لاحظ اننا استخدمنا fopen مع خيار rb لقراءة
الملفات لان هذه الملفات قد تكون ثنائية binary .
2 - لاحظ انه بامكانك وضع اي عدد تريده من
الملحقات ... فقط افصلها بنفس الفاصل كما رأينا .
و في الختام ... أسأل الله ان تكونوا قد استفدتم
من هذا الدرس و اذا كان لديكم اي ملاحظات او أسئلة
ارجو وضعها في صفحة التعليقات ...
ملاحظة : هنالك كائنات (Classes) تمكنك من ارسال
البريد في PHP بدون وجع الرأس الذي تقدم ... ابحث
عنها في قسم السكربات في القرية او في hotscripts
.
اخوكم : ابو محمد ,,,,
|
|
|
|
|
|
|
|