Khaled Mohammed7 نشر 25 أغسطس 2021 أرسل تقرير نشر 25 أغسطس 2021 كيف ممكن ارسل بريد الكتروني من خلال استخدام php سمعت انه في دالة تعمل ذلك mail و لكن لم افهم كيف استخدمها 2 اقتباس
0 بلال زيادة نشر 25 أغسطس 2021 أرسل تقرير نشر 25 أغسطس 2021 صحيح دالة mail تستخدم لأرسال بريد إلكتروني على البريد الإلكتروني الذي تود إرسال له هذا البريد, في البداية حتى تستطيع ارسال بريد إلكتروني من خلال أي صفحة بالموقع يجب أن نعرف دالة تكون قابلة للاستخدام بأي وقت و من أي صفحة فمثلاً يمكننا إنشاء دالة باسم sendMail بهذا الشكل function sendMail( ) { } ثم نمرر لها المتغيرات التالية function sendMail( $to, $from, $subject, $message ) { } حيث أن المتغير $to هو البريد الإلكتروني الذي نود إرسال بريد إليه. و متغير $from هو البريد لصاحب الموقع أو للشخص الذي قام بإرسال هذا البريد. و $subject هو عنوان البريد المرسل و $message هو نص الرسالة التي تم إرسالها بالبريد ثم بداخل الدالة نقوم بوضع ترميز utf-8 لعنوان الرسالة كما في الكود التالي $subject = sprintf( "=?utf-8?B?".base64_encode( $subject )."?=" ); ثم قمنا بإرسال headers الازمة عن طريق متغير $headers $headers = sprintf( "To: %s <%s>\nFrom: %s\nMIME-Version: 1.0\nContent-type: text/html; charset=utf-8", $to, $to, $from ); ثم قمنا بتمرير المتغيرات إلى دالة mail كما في الكود التالي return mail( $to, $subject, $message, $headers ); فتكون كامل الدالة function sendMail( $to, $from, $subject, $message ) { $subject = sprintf( "=?utf-8?B?".base64_encode( $subject )."?=" ); $headers = sprintf( "To: %s <%s>\nFrom: %s\nMIME-Version: 1.0\nContent-type: text/html; charset=utf-8", $to, $to, $from); return mail( $to, $subject, $message, $headers ); } ويمكن استخدام الدالة بهذه الطريقة <?php $to = "البريد المرسل إليه"; $from = "بريد المرسل"; $subject = "عنوان البريد"; $message = "نص البريد"; sendMail($to,$from,$subject,$message); 2 اقتباس
0 عبدالباسط ابراهيم نشر 25 أغسطس 2021 أرسل تقرير نشر 25 أغسطس 2021 بالإضافة لما شرحه بلال فإنه يمكنك إرسال ال mail بواسطة الدالة mail ولكن في بعض الأحيان لا تكون هذه الدالة كافية أو لا تلائم إحتياجاتك مثل الأمان والتشفير أو المرفقات لذلك تحتاج لاستخدام مكتبة لتنفيذ المطلوب مثل PHPMailer لتثبيت المكتبة بواسطة composer composer require phpmailer/phpmailer لاحظ المثال التالي <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { //إعدادات الخادم $mail->SMTPDebug = SMTP::DEBUG_SERVER; $mail->isSMTP(); //استخدام SMTP $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = 'user@example.com'; // username $mail->Password = 'secret'; // password $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; //Recipients $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient $mail->addAddress('ellen@example.com'); //Name is optional $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'); //Optional name //المحتوى $mail->isHTML(true); //محتوى html $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } يمكنك القراءة حول المكتبة أكثر من الرابط بالأعلى اقتباس
السؤال
Khaled Mohammed7
كيف ممكن ارسل بريد الكتروني من خلال استخدام php سمعت انه في دالة تعمل ذلك mail و لكن لم افهم كيف استخدمها
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.