أكواد PHP – مكتبة PHPMailer لإرسال البريد الإلكتروني

phpmailer logo

السلام علیکم

فی هذه التدوينة سوف أقدم واحدة من أشهر مكتبات البريد الإلكتروني إن لم تكن أشهرها على الإطلاق. تحدثت في السابق عن مكتبة SwiftMail وهو مكتبة جديرة ولها انتشار واسع أيضا، ولكن مكتبة PHPMailer كانت وربما بقيت الأوسع انتشارا. المشكلة في PHPmailer أن التطوير فيها قد تعثر ولم يتم الاهتمام بها بالشكل المطلوب. ومع هذا فإنها بقيت تستعمل بنطاق واسع.

واستعمال هذه المكتبة (أو غيرها من المكتبات) يسهل من عملية ارسال البريد الإلكتروني من خلال PHP. حيث أن لغة PHP لا تطرح إلا دالة واحدة لإرسال البريد الإلكتروني وهي mail(). ولكن المشكلة فيها أنها لا تدعم الكثير من الخصائص الضرورية كإرسال بريد بصيغة الهتمل وإرسال المرفقات. وناهيك عن المشاكل الاخرى المتعلقة بهذه الدالة مثل استعمالها للخوادم المحلية والتي لا توجد على سيرفرات الويندوز.
تم استعمال هذه المكتبة من قبل مجلات مشهورة مثل WordPress, Drupal, 1CRM, SugarCRM, YII, Joomla! وغیرها.

خصائص المكتبة:

  • دعم SMPT من غیر الحاجة إلى سيرفر محلي.
  • إرسال البريد الإلكتروني لعدة أشخاص.
  • إمكانية إرسال رسالة بديلة للبريد الذي لا يدعم الهتمل.
  • دعم الترميزات المختلفة مثل UTF8، 8bit, base64, binary وغيرها.
  • رسائل التنبيه والأخطاء ب47 لغة.
  • دعم لـ PHP5.0 والإصدارات اللاحقة.

 

أمثلة على المكتبة:
من خلال هذا المثال يمكنك تشغيل المكتبة وإرسال بريد إلكتروني بصيغة الهتمل ويتضمن مرفقات:

<?php
// إظافة الملف الخاص بالمكتبة
require 'PHPMailerAutoload.php';

// إنشاء الكائن للمكتبة
$mail = new PHPMailer;


//$mail->SMTPDebug = 3;                               // تفعيل كشف الأخطاء

$mail->isSMTP();                                      // استعمال SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // وضع سیرفر الـ SMTP الرئيسي والثانوي
$mail->SMTPAuth = true;                               // تفعيل التحقق في SMTP
$mail->Username = 'user@example.com';                 // اسم المستخدم
$mail->Password = 'secret';                           // كلمة السر
$mail->SMTPSecure = 'tls';                            // تفعيل التشفير
$mail->Port = 587;                                    // المدخل الذي يتم الاتصال به

$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User');     // إضافة مستقبل للرسالة
$mail->addAddress('ellen@example.com');               // اسم المستقبل اختياري
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz');         // إضافة مرفقات
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // اسم خاص بالمرفق (اختياري)
$mail->isHTML(true);                                  // استعمال الهتمل 

$mail->Subject = 'ضع هنا عنوان الرسالة';
$mail->Body    = 'ضع هنا محتوى الرسالة <b>بالهتمل!</b>';
$mail->AltBody = 'ضع النص البديل. يكون هذا النص خالياً من رموز الهتمل';

if(!$mail->send()) {
    echo 'لم يتم إرسال الرسالة.';
    echo 'الخطا: ' . $mail->ErrorInfo;
} else {
    echo 'تم إرسال الرسالة';
}

المكتبة مترجمة إلى عدة لغات ومن ضمنها العربية. لاستعمال اللغة العربية ضع هذا الكود بعد إنشاء الكائن:

<?php
// To load the French version
$mail->setLanguage('ar', '/optional/path/to/language/directory/');
?>

لتحمیل المکتبة:

[box type=”download” align=”left” width=”200px”]تحميل مكتبة PHPmailer[/box]

اترك تعليقاً

الحقول المطلوبة موسومة بالعلامة *.