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

كيف أنشىء كلاس لإرسال بريد إلكتروني في لغة PHP

Khaled Mohammed7

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...