الاخوة الكرام
ماهي طريقة عمل فورم اتصل بنا باستخدام phpmailer
محتاجها ضروري تكفون
الاخوة الكرام
ماهي طريقة عمل فورم اتصل بنا باستخدام phpmailer
محتاجها ضروري تكفون
فينكم ياشباب
شرح طريقة التعامل مع 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 سوف توقف الكود وتقول لنا لايوجد ملف
بعدها نقوم بتعريف object جديدكود PHP:
require("class.phpmailer.php");
وليكن لدينا المتحولات التاليةكود PHP:
$PHPMailer = new PHPMailer();
هنا نبدئ بالإعداد لإرسال الرسالةكود PHP:
$To = $_POST['To'];//بريد المستقبل
$From = $_POST['From'];//بريد المرسل
$FromName = $_POST['FromName'];//اسم المرسل
$Subject = $_POST['Subject'];//عنوان الرسالة
$Message = $_POST['Message'];//نص الرسالة
هل سوف نرسل بإسخدام ال SMTP طبعا True
سيرفر ال SMTP عادتاً بيكون localhost هل شي بتتأكد منه من الإستضافةكود PHP:
$PHPMailer->IsSMTP(True);//هل الإرسال بإسخدام ال SMTP
نوع الرسالة text ot htmlكود PHP:
$PHPMailer->Host = 'localhost';//سيرفر الـ SMTP
هلا معلومات الرسالة المرسل والمستقبل و........كود 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;
}
يمكن وضع اكثر من مستقبل
إضافة ccكود PHP:
$PHPMailer->AddAddress('email1@email.com');
$PHPMailer->AddAddress('email2@email.com');
$PHPMailer->AddAddress('email3@email.com');
$PHPMailer->AddAddress('email4@email.com');
إضافة AddReplyToكود PHP:
$PHPMailer->AddCC('email6@email.com');
إضافة Bcc (لا يرى المستقبل الإميلات التي تم إرسال الرسالة لها كما في cc)كود PHP:
$PHPMailer->AddReplyTo('email7@email.com');
إضافة ملف مرفق بالرسالةكود 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';//كلمة المرور
<?php
// check if fields passed are empty
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message'])||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!"; return false;
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
// create email body and send it
$to = 'me@myprogrammingblog.com';
// put your email
$email_subject = "Contact form submitted by: $name"; $email_body = "You have received a new message. \n\n".
" Here are the details:\n \nName: $name \n ".
"Email: $email_address\n Message \n $message";
$headers = "From: contacts@ursite.com\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers); return true;
?>
كود PHP:
<?php // check if fields passed are empty if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message'])|| !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) { echo "No arguments Provided!"; return false; } $name = $_POST['name']; $email_address = $_POST['email']; $message = $_POST['message']; // create email body and send it $to = 'me@myprogrammingblog.com'; // put your email $email_subject = "Contact form submitted by: $name"; $email_body = "You have received a new message. \n\n". " Here are the details:\n \nName: $name \n ". "Email: $email_address\n Message \n $message"; $headers = "From: contacts@myprogrammingblog.com\n"; $headers .= "Reply-To: $email_address"; mail($to,$email_subject,$email_body,$headers); return true; ?>
شكرا لك أخ أحمد
لكن هل يجب وضع الملفات التي حملناها من النت في نفس مجلد الصفحة التي تحتوي هذا الكود؟
نعم , هذا الاكواد التي وضعتها هي شرح للملفات التي يتم تحميلها من المجلد نفسه , بالتوفيق