آنچه در این مقاله میخوانید
آموزش ارسال ایمیل با استفاده از PHPMailer
۹ خرداد ۱۴۰۰

این روزها تعامل با کاربران از راههای مختلف به مشخصهی برنامههای خوب تبدیل شده و ما شاهد ایمیلها، پیامهای کوتاه و انواع اعلانها از سمت برنامههای مختلف هستیم. حال در زبان PHP یک کتابخانهی بسیار مشهور بهنام PHPMailer وجود دارد که با استفاده از آن میتوانیم ایمیلهای مورد نیاز خود را بهراحتی و با استفاده از یک سرور SMTP به کاربر یا کاربران مورد نظر خود ارسال کنیم.
بنابراین در ادامهی مقاله میخواهیم نحوهی ارسال ایمیل با استفاده از کتابخانهی PHPMailer و Gmail SMTP را به شما آموزش دهیم.
در ادامه میخوانید:
- پیشنیازها
- نصب PHPMailer
- پیادهسازی برنامهی نهایی
- جمع بندی
پیشنیازها
در ادامهی مقاله برای اضافه کردن کتابخانهی PHPMailer به پروژه از Composer استفاده شده بنابراین توصیه میشود حتما مقالهی آموزش نصب و استفاده از Composer را مطالعه کنید و همچنین توجه داشته باشید که برای استفاده از Gmail SMTP به یک حساب Gmail نیاز دارید و اگر Two-Step Verification آن فعال باشد باید یک رمز عبور ثابت از بخش App passwords دریافت کنید.
هاست ایمیل خود را همین حالا راهاندازی کنید و از امنیت و سرعت بالا بهرهمند شوید.
✅ امنیت بالا ✅ پشتیبانی ۲۴ ساعته ✅ ایمیل اختصاصی
خرید هاست ایمیل
نصب PHPMailer
نصب کتابخانهی PHPMailer با استفاده از Composer بهسادگی اجرای دستور زیر در مسیر پروژه است:
composer require phpmailer/phpmailer
پیادهسازی برنامهی نهایی
اول از همه در مسیر اصلی پروژه یک فایل با نام app.php
ایجاد کنید و کدهای زیر را بهمنظور فراخوانی کتابخانهی PHPMailer در ابتدای این اسکریپت قرار دهید:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require_once "vendor/autoload.php";
در مرحلهی بعد باید یک Mailer Object ایجاد کرده و آن را پیکربندی کنید:
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Port = 587;
$mail->Host = "smtp.gmail.com";
$mail->Username = "<username>@gmail.com";
$mail->Password = "<password>";
توجه داشته باشید که باید مقادیر <username>@gmail.com
و <password>
را با اطلاعات حساب Gmail خود جایگزین کنید. اکنون پس از پیکربندی Mailer Object میتوانید ایمیل مبدا و مقصد را بههمراه محتوای ایمیل در ادامهی کدها قرار دهید:
$mail->From = "<username>@gmail.com";
$mail->FromName = "<your name>";
$mail->addAddress("<destination>@host.name", "<destination name>");
$mail->isHTML(true);
$mail->Subject = "Mailing with PHPMailer";
$mail->Body = "<b>Congratulation</b>";
$mail->AltBody = "Congratulation";
درنهایت زمان ارسال ایمیل فرا میرسد که این کار به شکل زیر انجام خواهد شد:
try {
$mail->send();
echo "Message has been sent successfully";
} catch (Exception $e) {
echo "Mailer Error: " . $mail->ErrorInfo;
}
حال اگر تمام کدها را درکنار هم قرار دهید، اسکریپت نهایی به شکل زیر خواهد بود:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require_once "vendor/autoload.php";
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Port = 587;
$mail->Host = "smtp.gmail.com";
$mail->Username = "<username>@gmail.com";
$mail->Password = "<password>";
$mail->From = "<username>@gmail.com";
$mail->FromName = "<your name>";
$mail->addAddress("<destination>@host.name", "<destination name>");
$mail->isHTML(true);
$mail->Subject = "Mailing with PHPMailer";
$mail->Body = "<b>Congratulation</b>";
$mail->AltBody = "Congratulation";
try {
$mail->send();
echo "Message has been sent successfully";
} catch (Exception $e) {
echo "Mailer Error: " . $mail->ErrorInfo;
}
برای اجرای این اسکریپت PHP کافی است دستور php app.php
را اجرا کنید و ایمیل شما با موفقیت به آدرس <destination>@host.name
ارسال خواهد شد اما توجه داشته باشید اگر ایمیل شما به پوشهی Spam رفته باشد، ممکن است برخی از موارد فوق را بهدرستی پیکربندی نکرده باشید.
مطالعه بیشتر: هاست ایمیل چیست؟ معرفی بهترین هاست ایمیل
جمع بندی
در این مقاله با نحوهی ارسال ایمیل در PHP به کمک کتابخانهی پرکاربرد PHPMailer و سرویس Gmail SMTP آشنا شدیم. ابتدا پیشنیازهای لازم مانند نصب Composer و ایجاد رمز اپلیکیشن در Gmail را مرور کردیم و سپس گامبهگام نحوهی نصب کتابخانه، پیکربندی Mailer، تعریف محتوای ایمیل و ارسال نهایی آن را پیادهسازی کردیم.
ارسال ایمیل با PHPMailer به شما امکان میدهد تا با امنیت بالا و قابلیت سفارشیسازی پیشرفته، پیامهای تعاملی را در پروژههای وب خود پیاده کنید. با رعایت دقیق تنظیمات SMTP و استفاده صحیح از توابع PHPMailer، میتوانید تجربهای مطمئن و حرفهای در ارسال ایمیلهای خودکار ایجاد کنید — بدون نیاز به سرور اختصاصی یا کدنویسی پیچیده. اگر به دنبال افزودن قابلیت ارسال ایمیل به پروژههای PHP خود هستید، PHPMailer یک انتخاب ساده، انعطافپذیر و قابل اعتماد خواهد بود.
منبع: https://codeburst.io/send-emails-with-php-mailer-8ce6bb5871f6