أساسيات البرمجة برمجة المواقع بي اتش بي ارسال البريد الالكتروني الاميل PHP Sending Emails
بي اتش بي ارسال البريد الالكتروني الاميل
PHP Sending Emails
بي اتش بي ارسال البريد الالكتروني الاميل PHP Sending Emails |
إعدادات ال بي اتش بي لإرسال البريد الالكتروني الاميل PHP Sending Emails
لاستخدام البي اتش بي في ارسال البريد الالكتروني فيجب عمل الإعدادات التالية وذلك بتعديل ملف الإعدادات الخاص بال بي اتش بي PHP.ini .يجب تغير الإعدادات كما التالي في ويندوز.
[mail function] ; For Win32 only. SMTP = smtp.secureserver.net ; For win32 only sendmail_from = ahmed.almahallawi@outlook.com |
للمستخدمين لينكس
[mail function] ; For Win32 only. SMTP = ; For win32 only sendmail_from = ; For Unix only sendmail_path = /usr/sbin/sendmail -t -i |
إرسال نص بالبريد الاكتروني الاميل في البي اتش بي
لارسال نص بالبريد الالكتروني نستخدم الدالة ()mail وهذه الدالة لها باراميترات أي وسطاء سنوضحها في الجدول التالي.
الصيغة العامة لدالة أرسال البريد الالكتروني الاميل .
mail( to, subject, message, headers, parameters ); |
جدول الباراميترات للدالة () mail
الباراميتر | الوصف |
---|---|
to | البريد المرسل اليه اي الذي سيتقبل بريدك |
subject | اسم رسالة البريد اي عنوان الرسالة |
message | الرسالة نفسها ويجب ان يكون طول السطر ان لا يتجاوز 70 حروف (\n)وستخدم لبدء سطر جديد وهكذا |
headers | خيار اختياري مثل ارسال نسخة كربونية او مخفية |
parameters | اختياري في حال كانت هناك باراميترات اخرى |
مثال على ارسال بريد الكتروني نصي او اميل بالبي اتش بي php
<html> <head> <title>Sending email using PHP</title> </head> <body> <?php $to = "xyz@somedomain.com"; $subject = "This is subject"; $message = "This is simple text message."; $header = "From:abc@somedomain.com rn"; $retval = mail ($to,$subject,$message,$header); if( $retval == true ) { echo "Message sent successfully..."; } else { echo "Message could not be sent..."; } ?> </body> </html> |
مثال ارسال بريد الكتروني اميل يحتوي على هتمل كود html بالبي اتش بي php
<html> <head> <title>Sending HTML email using PHP</title> </head> <body> <?php $to = "xyz@somedomain.com"; $subject = "This is subject"; $message = "<b>This is HTML message.</b>"; $message .= "<h1>This is headline.</h1>"; $header = "From:abc@somedomain.com rn"; $header = "Cc:afgh@somedomain.com rn"; $header .= "MIME-Version: 1.0rn"; $header .= "Content-type: text/htmlrn"; $retval = mail ($to,$subject,$message,$header); if( $retval == true ) { echo "Message sent successfully..."; } else { echo "Message could not be sent..."; } ?> </body> </html> |
ارسال ملف مرفق attachment بالبي اتش بي من خلال البريد الالكتروني الاميل
توجد عدة خطوات يجب عملها قبل ارسال ملف مرفق بالبريد الالكتروني وهي.
- اعداد الخاصية content-type في ال header الراس الى multipart/mixed.
- تخصيص الملف ايضا بالخاصية boundaries.
- ال boundaries يبدا بي علامتي -- ثم يتبع برقم يتم توليده باستخدام الدالة ()md5.
- الملف المرفق يجب ترميزه باستخدام ()base64_encode
- لارسال افضل نستخدم دالة تقسيم الملف الى اجزاء ()chunk_split.
في المثال التالي بفرض لدينا ملف نصي اسمه ومساره كالتالي temp\test.txt\ ونريد ارساله كمرفق فالتالي كود الارسال.
<html>
<head>
<title>Sending attachment using PHP</title>
</head>
<body>
<?php
$to = "xyz@somedomain.com";
$subject = "This is subject";
$message = "This is test message.";
# Open a file
$file = fopen( "/tmp/test.txt", "r" );
if( $file == false )
{
echo "Error in opening file";
exit();
}
# Read the file into a variable
$size = filesize("/tmp/test.txt");
$content = fread( $file, $size);
# encode the data for safe transit
# and insert rn after every 76 chars.
$encoded_content = chunk_split( base64_encode($content));
# Get a random 32 bit number using time() as seed.
$num = md5( time() );
# Define the main headers.
$header = "From:xyz@somedomain.comrn";
$header .= "MIME-Version: 1.0rn";
$header .= "Content-Type: multipart/mixed; ";
$header .= "boundary=$numrn";
$header .= "--$numrn";
# Define the message section
$header .= "Content-Type: text/plainrn";
$header .= "Content-Transfer-Encoding:8bitrnn";
$header .= "$messagern";
$header .= "--$numrn";
# Define the attachment section
$header .= "Content-Type: multipart/mixed; ";
$header .= "name="test.txt"rn";
$header .= "Content-Transfer-Encoding:base64rn";
$header .= "Content-Disposition:attachment; ";
$header .= "filename="test.txt"rnn";
$header .= "$encoded_contentrn";
$header .= "--$num--";
# Send email now
$retval = mail ( $to, $subject, "", $header );
if( $retval == true )
{
echo "Message sent successfully...";
}
else
{
echo "Message could not be sent...";
}
?>
</body>
</html>
|
twitter @aalmahallawi
التسميات: PHP بي اتش بي تعلم دروس حتى الاحتراف
<< الصفحة الرئيسية