همانطور که میدانید سیستم مدیریت محتوای وردپرس میتواند به صورت پیشفرض و با استفاده از تابع PHP ایمیلهایی را به کاربران ارسال کند. این ایمیلها میتوانند شامل اطلاعرسانیهای مختلف از جمله بازیابی رمز عبور باشند.
اما این بهترین روش نیست و بسیاری از ارائهکنندگان میزبانی وب این عملکرد را به خوبی پیکربندی نمیکنند و ممکن است مشکلاتی در ارسال و انتقال ایمیلها به وجود بیاید. با توجه به ماهیت عملکرد ایمیل PHP ممکن است این ایمیلها به بخش اسپم بروند.
آیا تا به حال در دریافت و ارسال ایمیلها به مشکل بر خوردهاید؟ یک راهحل مناسب برای رفع مشکلات ارسال و انتقال ایمیلها استفاده از نرمافزارهای دیگر مثل مانند Mailgun و Sendgrid است.
با این حال این سرویسها میتوانند یک هزینه جانبی برای شما به همراه داشته باشند. در این مطلب سعی داریم که نحوه نصب و استفاده از یک سرور SMTP برای ارسال ایمیلها را به شما آموزش دهیم.
SMTP چیست؟
SMTP مخفف عبارت Simple Mail Transfer Protocol، به معنی یک پروتکل ساده انتقال ایمیل است. این پروتکل میتواند جایگزین بسیار مناسبی برای نرمافزارهای ارسال ایمیل باشد. این پروتکل به شما اجازه میدهد که به سادگی ایمیلهای خودتان را به مخاطب انتقال دهید. از جمله مزایای SMTP عبارتاند از:
- ایمیلهای ارسال شده توسط SMTP با سوابق rDNS مطابقت دارند
- SMTP نیاز به تائید اعتبار دارد
- برای ارسال ایمیل با این پروتکل نیازی به پرداخت هزینه نیست
- SMTP امنیت ایمیلهای سایت شما را تضمین میکند
- ایمیلهای SMTP بسیار کمی به پوشه اسپم راه پیدا میکنند
آموزش نصب SMTP در وردپرس با استفاده از پلاگین
متأسفانه وردپرس ابزار داخلی برای ارسال و انتقال ایمیلها از طریق SMTP را ندارد. بنابراین لازم است که برای این کار از پلاگینها استفاده کنید. ما در مطلبی دیگر ۵ تا از بهترین پلاگین های SMTP برای وردپرس را معرفی کردهایم.
یکی از بهترین پلاگینها که به صورت رایگان عرضه میشود و قابلیتهای بالایی دارد، پلاگین Easy WP SMTP است. مراحل نصب SMTP در وردپرس را در ادامه توضیح میدهیم:
۱. قبل از انجام هر کاری لازم است که پلاگین را نصب کنید. برای این کار وارد داشبورد وردپرس خودتان شوید و در قسمت پلاگینها، Easy WP SMTP را جستجو و سپس آن را نصب و راهاندازی کنید.
۲. در مرحله بعدی و در قسمت تنظیمات وارد صفحه تنظیمات Easy WP SMTP شوید.
۳. در قسمت تنظیمات عمومی، اطلاعات عمومی و جزئیات SMTP را وارد کنید:
- From Email Address: آدرس استفاده شده در فیلد فرم را وارد کنید. بعضی از ارائهکنندگان میزبانی (هاست) اجازه نمیدهند که آدرس ایمیل خارجی استفاده کنید بنابراین توصیه میشود که از همان آدرس ایمیلی استفاده کنید که برای نام کاربری SMTP استفاده کردهاید.
- From Name: شما میتوانید یک نام ساده برای آن انتخاب کنید مانند Administrator.
- SMTP Host: نام سرور ایمیل خروجی.
- Type of Encryption: معمولاً از SSL استفاده میشود.
- SMTP Port: پورت برای انتقال ایمیل خروجی به سرور استفاده میشود و در بیشتر موارد از پورت 465 یا 587 است.
- SMTP Authentication: این گزینه باید فعال شود.
- SMTP Username: نام کاربری همان نامی است که شما برای ورود به سرور ایمیل خودتان استفاده میکنید.
- SMTP Password: رمز عبور نیز، همان رمزی است که برای ورود به سرور ایمیل خودتان استفاده میکنید. حالا دکمه ذخیره را بزنید.
۴. Easy WP SMTP مجهز به یک بخش برای آزمایش سرور است. با استفاده از این قابلیت میتوانید فرآیند ارسال ایمیل خود را بررسی کنید. قسمت گیرنده (to)، موضوع (Subject) و پیام (Message) را پر کنید و سپس گزینه ارسال تست ایمیل را فشار دهید.
۵. در صورتی که همه مراحل به درستی پیکربندی شده باشد، یک پیغام موفقیت سبز رنگ در بالای صفحه به نمایش درخواهد آمد.
با انجام این ۵ مرحله میتوانید به سادگی پلاگین SMTP را نصب و پیکربندی آن را انجام دهید و بعد از آن تمام ایمیلهای شما به جای آنکه با PHP ارسال شود از طریق SMTP ارسال خواهد شد.
نصب SMPT در وردپرس با استفاده از API و WP_MAIL
به جای استفاده از پلاگینهای مختلف برای مدیریت کردن ارسال و انتقال ایمیلها، میتوانید از API وردپرس استفاده کنید تا بتوانید کدهای خودتان را سفارشیسازی کنید. برای آنکه بتوانید با استفاده از SMTP و از طریق API ایمیلهای خودتان را ارسال کنید به روش زیر عمل کنید.
در فایل wp-config.php کد زیر را وارد کنید
define( 'SMTP_HOST', 'server.hosting.com' ); // Hosting server name.
define( 'SMTP_AUTH', true );
define( 'SMTP_PORT', '465' );
define( 'SMTP_SECURE', 'ssl' );
define( 'SMTP_USERNAME', 'user@example.com' ); // Username for SMTP authentication
define( 'SMTP_PASSWORD', 'password' ); // Password for SMTP authentication
define( 'SMTP_FROM', 'user@example.com' ); // SMTP From address
define( 'SMTP_FROMNAME', 'Name' ); // SMTP From name
به جای server.hosting.com آدرس سرور ایمیل، به جای user@example.com آدرس ایمیل خودتان، به جای password رمز عبور ایمیل و به جای Name نام خودتار را وارد کنید و سپس تغییرات اعمال شده را در فایل wp-config.php ذخیره کند.
کد زیر را در فایل کد پلاگین خودتان وارد کنید:
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->Username = SMTP_USERNAME;
$phpmailer->Password = SMTP_PASSWORD;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_FROMNAME;
}
برای ارسال ایمیل، تابع wp_mail() را بزنید. مانند مثال زیر
wp_mail("recipient@example.com", "Subject", "Message");
با انجام این اعمال وردپرس میتواند با استفاده از SMTP ایمیلهای شما را ارسال کند.
آزمایش تنظیمات SMTP
حالا که پروتکل SMTP را برای ارسال ایمیلهای خودتان تنظیم کردهاید، باید آن را آزمایش کنید و از کارکرد درست آن مطمئن شوید.
در صفحه تنظیمات پلاگین روی تب آزمایش ایمیل (Email test) کلیک کنید. یک آدرس را برای دریافت ایمیلهای آزمایشی مشخص کنید. این آدرس ایمیل میتواند از هر سرویسدهندهای باشد. تنها باید به آن دسترسی داشته باشید. سپس روی دکمه ارسال ایمیل کلیک کنید.
حالا SMTP با استفاده از تنظیماتی که انجام دادهاید ایمیلها را ارسال میکند. اگر ایمیلها به درستی ارسال شوند، پیام موفقیت ارسال را مشاهده خواهید کرد.