معرفی کتابخانه phpmailer
در این نوشته قصد بررسی یک کتابخانهی پرکاربرد ارسال ایمیل که تحت زبان برنامه نویسی PHP نوشته شده است را داریم.
معرفی کتابخانه phpmailer
کار این پکیج یا کتابخانهی آماده این است که امکاناتی را جهت ارسال ایمیل در برنامههای تحت وب php ایجاد کند تا نیاز نشود شما امکانات مورد نظر خود را بازنویسی کنید.
برخی از امکانات این کتابخانه به شرح زیر است:
- هم اکنون در سیستمهای اوپن سورس معروف دنیا مثل وردپرس، دروپال و … در حال استفاده است.
- به صورت کامل از smtp پشتیبانی میکند.
- ارسال همزمان ایمیل توسط چند گیرنده مانند سرویسهای معروف تحت عنوان to و cc و bcc.
- ارسال ایمیل در قالب html.
- پشتیبانی از فایل ضمیمه و attachment.
- پشتیبانی کامل از utf-8.
- پشتیبانی 50 زبان دنیا.
- کار با ورژن 5.5 و بالاتر در php.
برای شروع کار با این کتابخانه باید در ابتدای برنامهی مورد نظر خود این موارد را بیاورید تا از آن استفاده کنید:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php';
پارامترهای اصلی در هنگام ارسال ایمیل با این کتابخانه به شرح زیر است:
- SMTPDebug.
- isSMTP.
- Host.
- Username.
- Password.
- SMTPSecure.
- Port.
- Subject.
- Body.
- AltBody.
متدهای اصلی و پراستفادهی این کتابخانه به شرح زیر است:
- isSMTP.
- setFrom.
- addAddress.
- addAddress.
- addReplyTo.
- addCC.
- addBCC.
- addAttachment.
- addAttachment.
- isHTML.
- send.
یک مثال ساده از phpmailer:
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'user@example.com'; // SMTP username
$mail->Password = 'secret'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, ssl also accepted
$mail->Port = 587; // TCP port to connect to
//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');
// Attachments
$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
// Content
$mail->isHTML(true); // Set email format to 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}";
اگر کتابخانهی خاصی مدنظر دارید برای معرفی و آموزش آن به ما اطلاع دهید تا آن را بررسی کنیم. امیدواریم از “آموزش کتابخانه phpmailer” استفادهی لازم را ببرید.



















آیا امکان مشاهده خروجی خطا (ErrorInfo) بهصورت دقیق در کد نمونه وجود دارد؟
بله وجود دارد.
آیا روش تنظیم CharSet برای ارسال ایمیل فارسی (UTF‑8) بهدرستی در متن آموزش داده شده است؟
بله وجود دارد.
در صورت استفاده از Gmail SMTP، آیا نیاز به فعالسازی Less Secure Apps یا نکات مربوط به OAuth ذکر شده؟
برای اینکار باید کمی دانش فنی داشته باشید.
آیا عملکرد PHPMailer در وردپرس مشابه عملکرد تابع wp_mail است یا برتری خاصی در ارسال HTML و فایل ضمیمه دارد؟
بله این کتابخانه تنظیمات بهتری را برای ارسال در نظر میگیرد.
آیا این کتابخانه بهروز نسخه PHP را ساپورت میکند یا ممکن است با نسخههای جدید PHP مانند ۸.x مشکلاتی داشته باشد؟
ممکن است مشکلاتی به وجود بیاید.