ارسال من php الى الايميل

Razan • منذ 5 سنوات

عند عمل form اريد ان ترسل الرساله الى ايميلي عن طريق php وان يضع المستخدم اي ايميل يريده وتصل الرساله الي ايميلي الخاص 

كلمات دليلية: contact form php send

الإجابة الصحيحة

Abdullah Alhariri • منذ 5 سنوات

يمكنك عمل هذا عن طريق إستخدام مكتبة PHPMailer وهي مكتبة غنية عن التعريف سهلة الاستخدام ولها دعم كبير

يمكنك تحميل هذه المكتبة من خلال GitHub

والتالي هو طريقة الارسال عن طريق phpmailer 

<?php

use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer();                              

    //إعدادات خادم الإرسال
    $mail->isSMTP();                                      // جعل المكتبة تستخدم SMTP
    $mail->Host = 'smtp1.example.com;smtp2.example.com';  // تحديد خادم الارسال
    $mail->SMTPAuth = true;                               // تفعيل التحقق من بيانات المرسل
    $mail->Username = '[email protected]';                 // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->Port = 587;                                    // رقم ال port الخاص بالسيرفر

    //بيانات المستقبلين
    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Joe User');     // إضافة مستقبل
    $mail->addAddress('[email protected]');               // الإسم الذي سيظهر في الرسالة وهو إختياري
    $mail->addReplyTo('[email protected]', 'Information');
    $mail->addCC('[email protected]');
    $mail->addBCC('[email protected]');

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

    //محتوى الرسالة
    $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(); // دالة الإرسال

 

ملاحظة : الكود السابق موجود في الرابط السابق فقط قمت بتعريب التعليقات وبعض التعديلات

بالتوفيق

الإجابات (3)

Abdullah Alhariri • منذ 5 سنوات
الإجابة الصحيحة

يمكنك عمل هذا عن طريق إستخدام مكتبة PHPMailer وهي مكتبة غنية عن التعريف سهلة الاستخدام ولها دعم كبير

يمكنك تحميل هذه المكتبة من خلال GitHub

والتالي هو طريقة الارسال عن طريق phpmailer 

<?php

use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer();                              

    //إعدادات خادم الإرسال
    $mail->isSMTP();                                      // جعل المكتبة تستخدم SMTP
    $mail->Host = 'smtp1.example.com;smtp2.example.com';  // تحديد خادم الارسال
    $mail->SMTPAuth = true;                               // تفعيل التحقق من بيانات المرسل
    $mail->Username = '[email protected]';                 // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->Port = 587;                                    // رقم ال port الخاص بالسيرفر

    //بيانات المستقبلين
    $mail->setFrom('[email protected]', 'Mailer');
    $mail->addAddress('[email protected]', 'Joe User');     // إضافة مستقبل
    $mail->addAddress('[email protected]');               // الإسم الذي سيظهر في الرسالة وهو إختياري
    $mail->addReplyTo('[email protected]', 'Information');
    $mail->addCC('[email protected]');
    $mail->addBCC('[email protected]');

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

    //محتوى الرسالة
    $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(); // دالة الإرسال

 

ملاحظة : الكود السابق موجود في الرابط السابق فقط قمت بتعريب التعليقات وبعض التعديلات

بالتوفيق

xlmnxp • منذ 5 سنوات

اختي Razan بإمكانك تقييم اجباته كـ"افضل إجابة" افضل له يستفيد ماديًا

Ali Majrashi • منذ 5 سنوات

ماقصر Abdullah Alhariri اجابك اجابة ممتازه فعلا ممكن نستخدم المكتبات الجاهزه لتبسيط التعامل مع الاميلات وارسالها ولكن كإضافة بسيطه فان في php ممكن نستخدم الدالة mail لارسال اي اميل ولكن مع الاخذ بالاعتبار ان جميع الاعدادات تكون صحيحة لتصل بالشكل المطلوب 

مثال على الدالة send لارسال اميل 

<?php
$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = array(
    'From' => '[email protected]',
    'Reply-To' => '[email protected]'
    'X-Mailer' => 'PHP/' . phpversion()
);

mail($to, $subject, $message, $headers);

بالنسبة لك تستطيعين استقبال المدخلات المرسله من النموذج ثم تنقيحها وارسالها بنفس الكود بالاعلى لمزيد من المعلومات عن هذه الدالة انصحك بزيارة

php mail

ولكن لتعمل هذه الدالة نحتاج للتاكد من اعدادات الاميل داخل php.ini او اعدادادها قبل استخدام mail هنا صفحة توضح اهم الاعدادات 

php mail configuration

لهذا يفضل الكثير استخدام مكتبات جاهزة كما في رد المبدع Abdullah Alhariri  بحيث تسهل عملية الاعدادات والارسال

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !