شرح طريقة التعامل مع phpmailer class او يسمي phpmailer api
وظيفته إرسال الرسال بإستخدام بروتوكول SMTP
اولاً نبدئ بتحميل الملفات من الرابط التالي
PHPMailer | Get PHPMailer at SourceForge.net
بعدها نقوم بفك الضغط عن الملف بالإستضافة وسوف يظهر لنا الملفات التالية
class.smtp.php - class.phpmailer.php - phpdoc - language - docs
ثم بالصفحة التي نريد إرسال الرسالة منها نقوم بعمل require
لماذا require وليس include
الجواب لان الinclude في حال عدم وجود الملف سوف تكمل تنفيذ الكود وتعطي رسالة خطأ
ونحن الكود الموجود باسفل استدعاء الملف يعتمد بشكل كلي على الملف هذا فلذالك require سوف توقف الكود وتقول لنا لايوجد ملف
كود PHP:
require("class.phpmailer.php");
بعدها نقوم بتعريف object جديد
كود PHP:
$PHPMailer = new PHPMailer();
وليكن لدينا المتحولات التالية
كود PHP:
$To = $_POST['To'];//بريد المستقبل
$From = $_POST['From'];//بريد المرسل
$FromName = $_POST['FromName'];//اسم المرسل
$Subject = $_POST['Subject'];//عنوان الرسالة
$Message = $_POST['Message'];//نص الرسالة
هنا نبدئ بالإعداد لإرسال الرسالة
هل سوف نرسل بإسخدام ال SMTP طبعا True
كود PHP:
$PHPMailer->IsSMTP(True);//هل الإرسال بإسخدام ال SMTP
سيرفر ال SMTP عادتاً بيكون localhost هل شي بتتأكد منه من الإستضافة
كود PHP:
$PHPMailer->Host = 'localhost';//سيرفر الـ SMTP
نوع الرسالة text ot html
كود PHP:
$PHPMailer->isHtml(True);//True or false
هلا معلومات الرسالة المرسل والمستقبل و........
كود PHP:
$PHPMailer->From = $From;//بريد المرسل
$PHPMailer->FromName = $FromName;//اسم المرسل
$PHPMailer->AddAddress($To);//بريد المستقبل
$PHPMailer->Subject = $Subject;//عنوان الرسالة
$PHPMailer->Body = $Message;//نص الرسالة
إرسال الرسالة
كود PHP:
$PHPMailer->Send()
التحقق من الإرسال ورسائل الخطئ
كود PHP:
if($PHPMailer->Send())
{
echo "Sent";
}
else
{
echo "Error: " . $PHPMailer->ErrorInfo;
}
خيارات إضافية
يمكن وضع اكثر من مستقبل
كود PHP:
$PHPMailer->AddAddress('email1@email.com');
$PHPMailer->AddAddress('email2@email.com');
$PHPMailer->AddAddress('email3@email.com');
$PHPMailer->AddAddress('email4@email.com');
إضافة cc
كود PHP:
$PHPMailer->AddCC('email6@email.com');
إضافة AddReplyTo
كود PHP:
$PHPMailer->AddReplyTo('email7@email.com');
إضافة Bcc (لا يرى المستقبل الإميلات التي تم إرسال الرسالة لها كما في cc)
كود PHP:
$PHPMailer->AddBCC('email5@email.com');
إضافة ملف مرفق بالرسالة
كود PHP:
$PHPMailer->AddAttachment('files/Attachment.zip', 'Attachment.zip');//مسار الملف ثم اسم الملف
خاصية إقتطاع النص
كود PHP:
$PHPMailer->WordWrap(60);//قتطاع النص ونزول به سطر عند عدد معين من الاحرف
التحكم بترميز الرسالة
كود PHP:
$PHPMailer->CharSet = "UTF-8";//التحكم بترميز الرسالة
خصائص إضافة عند الإتصال بسيرفر الإرسال
كود PHP:
$PHPMailer->Port = '25';//البورت الإفتراضي للسيرفر
$PHPMailer->SMTPAuth = true;//توثيق الدخول للسيرفر يتبعها اسم مستخدم وكلمة مرور
$PHPMailer->Username = 'SMTP_SERVER_Name';//اسم المستخدم
$PHPMailer->Password = 'SMTP_SERVER_Password';//كلمة المرور
بالتوفيق