PHPMailer چیست؟

PHPMailer یک کلاس ساده در زبان PHP است که امکان ارسال ایمیل توسط برنامه های تحت وب را فراهم میکند. بر خلاف تابع پیشفرض ارسال ایمیل در PHP که همان تابع ()mail است ( و در آموزشهای قبلی استفاده از آن را توضیح داده بودیم) ، PHPMailer از سیستم ارسال ایمیل سرور خود شما (‌بجای استفاده از سرویس ارسال ایمیل در سرورهای اشتراکی) استفاده کرده و بنابراین به یک آدرس پست الکترونیک معتبر با رمز ورود آن نیازمند است. مزیت دیگر این کلاس، امنیت و امکانات بیشتر آن می باشند.
برای اینکه بتوانیم از PHPmailer استفاده کنیم لازم است ابتدا آن را بر روی سرور نصب کنیم. برای نصب، از طریق composer استفاده کرده ایم.
کد:
<?php require_once "vendor/autoload.php"; //PHPMailer Object $mail = new PHPMailer; //From email address and name $mail->From = "from@yourdomain.com"; $mail->FromName = "Full Name"; //To address and name $mail->addAddress("recepient1@example.com", "Recepient Name"); $mail->addAddress("recepient1@example.com"); //Recipient name is optional //Address to which recipient will reply $mail->addReplyTo("reply@yourdomain.com", "Reply"); //CC and BCC $mail->addCC("cc@example.com"); $mail->addBCC("bcc@example.com"); //Send HTML or Plain Text email $mail->isHTML(true); $mail->Subject = "Subject Text"; $mail->Body = "<i>Mail body in HTML</i>"; $mail->AltBody = "This is the plain text version of the email content"; if(!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message has been sent successfully"; }

در مثال بالا کتابخانه ی php Mailer به وسیله ی composer نصب گردیده به این صورت که autoload.php را از شاخه vendor ، فراخوانی شده است


توضیح کد ها: در مجموعه کد های بالا یک شی از کلاس phpmailer ساخته شده است،سپس آدرس فرستنده و اسم فرستنده را به شی ارسال کردیه است،در ادامه آدرس ها + نام گیرنده را به شی ارسال میکند. آدرسی که پاسخ ایمیل به اون ارسال میشود را ثبت میکند. ثبت ادرس های رونوشت ایمیل در شی ایجاد شده.سپس مشخص میکند که نوع محتوای ایمیل ارسالب از نوع HTML می باشد. مشخص کردن موضوع، متن اصلی پیام با فرمت html و بعدی هم به عنوان معرف که میتوانید نسخه ایمیل رو مشخص کنید. در ادامه میتوانید پیام را ارسال کنید و اگه پیام ارسال شد پیام ارسال شد و اگه نه بگو ارسال نشد را نمایش دهد.