اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكنك إنشاء كلاس فيPHP عن طريق التعليمة التالية 

<?php 

class ClassName
{

}

?>

وفي حالتنا نريد إنشاء كلاس و يكون اسمه mailC 

<?php 

class mailC
{

}

?>

ثم نقوم ببرمجة دالة بداخل هذا الكلاس و ليكن اسمه send 

<?php
class mailC
{

    public function send($to, $from, $subject, $message)
    {   
	}

}
?>

ولاحظ أن الدالة send تحمل عدة متغيرات مثل 

$to

وهو بريد الشخص الذي نود إرسال بريد إليه 

$from

البريد الذي قام بارسال الرسالة إلى هذا الشخص 

$subject

عنوان الرسالة و 

$message

هو نص الرسالة التي نود إرسالها. ثم يمكننا إنشاء header الخاص بالرسالة 

<?php
class mailC
{
    public function send($to, $from, $subject, $message)
    {
        $header = "From: ".$from."\r\n";
        $header .= "Reply-To: ".$to."\r\n";
        $header .= "MIME-Version: 1.0\r\n";

        $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
        $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        $header .= "$message\r\n";
   }

}
?>

حيث الهيدر يكون مضمن بداخله بريد الشخص الذي قام بإرسال الرسالة و بريد الشخص مستقبل الرسالة و ترميز النص, ثم يمكننا أخيراً من استخدام دالة mail التي تكون مهمتها إرسال الرسالة و هي دالة من PHP و يتم تمرير إليها كل من بريد الشخص المستقبل و بريد المرسلو عنوان الرسالة و نص الرسالة ( أو الهيدر ) .

<?php
class mailC
{

    public function send($to, $from, $subject, $message)
    {

        $header = "From: ".$from."\r\n";
        $header .= "Reply-To: ".$to."\r\n";
        $header .= "MIME-Version: 1.0\r\n";

		$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
        $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
        $header .= "$message\r\n";

        mail($to, $subject, "", $header);
    }

}
?>

 

  • 0
نشر

أبسط حل هو الدالة mail في أي صنف بسيط تقوم بإنشائه وشكلها العام:

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

مستقبل
موضوع الايميل
الرسالة
ترويسات// المرسل و إصدار اللغة

تحوي المقالة المرفقة شرح مفصل أكثر لكيفية استخدام المكتبة PHPMailer في PHP وطرق أخرى أفضل من الدالة mail

 

كيفية استخدام PHP Mailer:

<?php
$mail = new PHPMailer();

$mail->From = "from@example.com"; // المرسل
$mail->FromName = "Full Name";    // اسم المرسل الكامل

$mail->addReplyTo("reply@example.com", "Reply Address");         // البريد الذي تود إستقبال الردود عليه
$mail->addAddress("recepient1@example.com", "Recepient Name");   // عنوان بريد المستقبل الأول و اسمه
$mail->addAddress("recepient2@example.com");                     //        المستقبل الثاني

$mail->addCC("cc@example.com");      // مستقبلين نسخة إضافية (CC)،
$mail->addBCC("bcc@example.com");    // مستقبلين نسخة إضافية محجوبين (BCC)

$mail->Subject = "Subject Text";     //   الموضوع
$mail->isHTML(true);                 // تفعيل وضع HTML

// جسم الإيميل
$mail->Body = "<html><body><p><b>This paragraph is bold.
</b></p><p><i>This text is
italic.</i></p></body></html>";

$mail->AltBody = "This paragraph is not bold.\n\nThis text is not italic.";

// إرسال الإيميل
if($mail->send()) {
    // (1)
header('Location: http://example.com/path/to/thank-you.php', true, 303);// إعادة التوجيه ورسالة سكر لإرسال البريد
    exit;
} // حدوث خطأ
else {
    echo "Error: " . $mail->ErrorInfo;
}

إن كنت تستعمل composer في مشروعك يمكنك تضمين PHP Mailerكالتالي:

التثبيت:

composer.json

"phpmailer/phpmailer": "~6.0"

ثم 

composer install

أو:

composer require phpmailer/phpmailer

ولكي تستخدمها، كما في المثال السابق، رابط توثيق المكتبة من على GitHub: github.com/Synchro/PHPMailer

والمقالة المرفقة تحوي شوحات إضافية:

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...