کد ارسال ایمیل به صورت SMTP در وردپرس

کد ارسال ایمیل به صورت SMTP در وردپرس

یکی از مشکلات رایج در سایت‌های وردپرسی، نرسیدن ایمیل‌ها یا رفتن آن‌ها به پوشه Spam است. دلیل اصلی این موضوع این است که وردپرس به‌صورت پیش‌فرض از تابع mail() در PHP استفاده می‌کند که در بسیاری از هاست‌ها قابل اعتماد نیست.

راه‌حل مطمئن، استفاده از ارسال ایمیل از طریق SMTP است؛ روشی که باعث می‌شود ایمیل‌ها با هویت مشخص و از طریق سرورهای معتبر ارسال شوند.

در این آموزش، بدون نیاز به افزونه، یک کد ساده و کاربردی برای ارسال ایمیل SMTP در وردپرس را یاد می‌گیریم.

چرا استفاده از SMTP در وردپرس مهم است؟

استفاده از SMTP مزایای مهمی دارد، از جمله:

  • افزایش احتمال رسیدن ایمیل به Inbox
  • کاهش شدید اسپم شدن ایمیل‌ها
  • سازگاری بهتر با سرویس‌هایی مثل Gmail، Outlook و Yahoo
  • امکان ارسال ایمیل از دامنه واقعی سایت
  • کنترل بیشتر روی تنظیمات ایمیل

SMTP چیست؟

SMTP مخفف Simple Mail Transfer Protocol است و استانداردی برای ارسال ایمیل در اینترنت محسوب می‌شود. وقتی وردپرس از SMTP استفاده می‌کند، ایمیل‌ها از طریق یک سرور مشخص (مثلاً Gmail یا سرور ایمیل دامنه شما) ارسال می‌شوند، نه به‌صورت ناشناس.

 

پیش‌نیازهای ارسال ایمیل SMTP در وردپرس

قبل از استفاده از کد، به این اطلاعات نیاز دارید:

  • آدرس سرور SMTP (مثلاً smtp.gmail.com)
  • نام کاربری ایمیل
  • رمز عبور ایمیل
  • پورت SMTP (معمولاً 587 یا 465)
  • نوع رمزنگاری (TLS یا SSL)

 

کد ارسال ایمیل SMTP در وردپرس (بدون افزونه)

کد زیر را می‌توانید داخل فایل functions.php قالب فعال یا در یک پلاگین اختصاصی قرار دهید:

add_action( 'phpmailer_init', 'setup_smtp_mailer' );
function setup_smtp_mailer( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.gmail.com';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 587;
    $phpmailer->Username   = 'your-email@gmail.com';
    $phpmailer->Password   = 'your-email-password';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From       = 'your-email@gmail.com';
    $phpmailer->FromName   = 'نام سایت شما';
}

⚠️ حتماً اطلاعات ایمیل، رمز عبور و نام سایت را با مقادیر واقعی جایگزین کنید.

 

تست ارسال ایمیل در وردپرس

برای تست عملکرد SMTP، می‌توانید از کد زیر استفاده کنید:

wp_mail(
    'test@example.com',
    'تست ارسال ایمیل',
    'اگر این ایمیل را دریافت کرده‌اید، تنظیمات SMTP به درستی انجام شده است.'
);

اگر ایمیل با موفقیت ارسال شد، یعنی تنظیمات شما درست است.

 

 

نکات امنیتی مهم

  • از ایمیل اصلی شخصی برای سایت استفاده نکنید
  • برای Gmail حتماً App Password بسازید
  • در صورت امکان، ایمیل با دامنه سایت (info@domain.com) استفاده کنید
  • دسترسی فایل functions.php را محدود نگه دارید

 

SMTP با کد بهتر است یا افزونه؟

اگر بخواهیم صادقانه بگوییم:

  • کدنویسی SMTP → سبک، سریع، بدون افزونه اضافی
  • افزونه SMTP → مناسب کاربران مبتدی و پروژه‌های کوچک

برای سایت‌های حرفه‌ای و سبک، استفاده از کد گزینه بهتری است.

جمع‌بندی

ارسال ایمیل SMTP در وردپرس یکی از مهم‌ترین اقدامات برای حرفه‌ای‌تر شدن سایت است. با استفاده از کدی که در این آموزش معرفی شد، می‌توانید بدون نصب افزونه، ایمیل‌های وردپرس را به‌صورت امن و قابل اعتماد ارسال کنید و خیال خودتان را از بابت نرسیدن ایمیل‌ها راحت کنید. این مساله به ویژه پس از تکمیل فرم های ارتباطی توسط کاربر و ارسال ایمیل تاییدیه به او پس از طراحی سایت ، بسیار کاربردی است.

 

سیده لیدا حسینی
سیده لیدا حسینی
مقاله‌ها: 188