دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
ایمیل
  • Folder icon closed Folder open iconMail Server چیست و چگونه کار می‌کند؟
  • Folder icon closed Folder open iconخطاهای رایج در ارسال و دریافت ایمیل و راهکارهای آن در سی‌پنل
  • Folder icon closed Folder open iconارسال یک کپی از ایمیل های ارسالی به ایمیل خاص در Mail Enable
  • Folder icon closed Folder open iconآموزش کامل تنظیم رکورد MX دامنه در کنترل‌پنل‌ها
  • Folder icon closed Folder open iconخطاهای رایج در ارسال و دریافت ایمیل و راهکارهای آن در پلسک
  • Folder icon closed Folder open iconOX App Suite
    • آموزش استفاده از OX App Suite و امکانات آن
    • تنظیم رکورد MX برای ایمیل‌های OX App Suite
    • تنظیم SPF Record برای جلوگیری از اسپم در OX App Suite
    • فعال‌سازی و شروع فروش سرویس OX App Suite در WHMCS
    • ایجاد و مدیریت Email Alias در OX App Suite
  • Folder icon closed Folder open iconBcc Forward ایمیل های ارسالی به ایمیل خاص در Mail Enable
  • Folder icon closed Folder open iconخطاهای رایج در ارسال و دریافت ایمیل و راهکارهای آن در کنترل پنل دایرکت ادمین (DirectAdmin)
  • Folder icon closed Folder open iconبررسی خطاها در ارسال و دریافت ایمیل
  • Folder icon closed Folder open iconدریافت ایمیل‌ها در Junk سی‌پنل
  • Folder icon closed Folder open iconDKIM و SPF چیست؟
  • Folder icon closed Folder open iconارسال ایمیل تست به mail-tester.com و رفع خطاهای اسپم
  • Folder icon closed Folder open iconدسترسی به وب‌میل در دایرکت ادمین و رفع خطای 403
  • Folder icon closed Folder open iconدسترسی به وب‌میل درسی پنل
  • Folder icon closed Folder open iconدسترسی به وب‌میل در کنترل پنل Plesk و رفع خطای عدم بارگذاری
  • Folder icon closed Folder open iconپاک کردن صف ایمیل
  • Folder icon closed Folder open iconامن کردن WebMail و رفع خطای Not Secure
  • Folder icon closed Folder open iconتنظیمات ایمیل در دایرکت ادمین
  • Folder icon closed Folder open iconتنظیمات ایمیل در سی پنل (cPanel)
  • Folder icon closed Folder open iconبررسی حجم اکانت ایمیل در دایرکت ادمین
  • Folder icon closed Folder open iconبررسی حجم اکانت ایمیل در سی‌پنل (cPanel)
  • Folder icon closed Folder open iconبررسی حجم اکانت ایمیل در پلسک (Plesk روی ویندوز سرور)
  • Folder icon closed Folder open iconریست سرویس Exim
  • Folder icon closed Folder open iconپورت‌های پرکاربرد سرویس ایمیل
  • Folder icon closed Folder open iconWebmail چیست و چه کاربردی دارد؟
  • Folder icon closed Folder open iconمعرفی پروتکل‌های SMTP، IMAP و POP3 و تفاوت آن ها
  • Folder icon closed Folder open iconEmail Header چیست و چه اطلاعاتی در آن قرار دارد؟
  • Folder icon closed Folder open iconرکورد MX چیست و چگونه کار می‌کند
  • Folder icon closed Folder open iconآیا می‌توان چند رکورد MX برای یک دامنه تعریف کرد؟
  • Folder icon closed Folder open iconرکورد A و نقش آن در راه‌اندازی Mail Server
  • Folder icon closed Folder open iconابزارهای بررسی MX، SPF، DKIM و DNS دامنه
  • Folder icon closed Folder open iconemail چیست و ارسال یک ایمیل چگونه انجام می‌شود؟
  • Folder icon closed Folder open iconآموزش ساخت ایمیل در DirectAdmin
  • Folder icon closed Folder open iconآموزش ساخت ایمیل در cPanel
  • Folder icon closed Folder open iconآموزش ساخت ایمیل در Plesk
  • Folder icon closed Folder open iconآموزش تغییر رمز عبور ایمیل در هاست
  • Folder icon closed Folder open iconEmail Quota چیست و چگونه مدیریت می‌شود؟
  • Folder icon closed Folder open iconآموزش مشاهده میزان مصرف فضای ایمیل
  • Folder icon closed Folder open iconآموزش ایجاد Email Forwarder
  • Folder icon closed Folder open iconتفاوت Email Alias، Forwarder و Mailbox
  • Folder icon closed Folder open iconآموزش ساخت پاسخ خودکار برای ایمیل
  • Folder icon closed Folder open iconآموزش تعریف Email Filter در cPanel
  • Folder icon closed Folder open iconآموزش مسدود کردن یک فرستنده در Webmail
  • Folder icon closed Folder open iconآموزش انتقال خودکار ایمیل‌ها به یک پوشه
  • Folder icon closed Folder open iconDefault Email Account در cPanel چیست؟
  • Folder icon closed Folder open iconآموزش بررسی وضعیت ارسال ایمیل در Track Delivery
  • Folder icon closed Folder open iconاطلاعات موردنیاز برای اتصال ایمیل هاست به نرم‌افزارها
  • Folder icon closed Folder open iconتفاوت تنظیمات Secure SSL و Non-SSL ایمیل
  • Folder icon closed Folder open iconآموزش اتصال ایمیل هاست به Outlook
  • Folder icon closed Folder open iconآموزش اتصال ایمیل هاست به Thunderbird
  • Folder icon closed Folder open iconآموزش اتصال ایمیل هاست به گوشی اندروید
  • Folder icon closed Folder open iconآموزش اتصال ایمیل هاست به آیفون
  • Folder icon closed Folder open iconآموزش نصب mailenable و کانفیگ کامل آن
  • Folder icon closed Folder open iconآموزش کانفیگ صحیح exim
  • Folder icon closed Folder open iconآموزش تنظیم صحیح relay در mailenable
  • Folder icon closed Folder open iconآموزش تنظیم صحیح relay در cpanel
  • Folder icon closed Folder open iconآموزش تنظیم صحیح relay در directadmin
ایمیل

آموزش تنظیم صحیح relay در cpanel

آموزش تنظیم صحیح relay در cpanel

مقدمه

در سرورهای cPanel و WHM، نرم‌افزار Exim وظیفه ارسال و دریافت ایمیل را بر عهده دارد. تنظیم Relay مشخص می‌کند چه کاربران، وب‌سایت‌ها یا سرورهایی اجازه دارند از Exim برای ارسال ایمیل به دامنه‌های دیگر استفاده کنند.

اگر Relay بیش از اندازه محدود باشد، کاربران Outlook، وب‌سایت‌ها و نرم‌افزارها نمی‌توانند ایمیل خارجی ارسال کنند. اگر بیش از اندازه باز باشد، افراد ناشناس می‌توانند از سرور برای ارسال Spam استفاده کنند.

به سروری که بدون احراز هویت اجازه ارسال ایمیل میان دو دامنه خارجی را بدهد، Open Relay گفته می‌شود. Open Relay می‌تواند باعث موارد زیر شود:

  • ارسال گسترده Spam
  • افزایش Mail Queue
  • مصرف CPU و پهنای باند
  • Blacklist شدن IP
  • مسدودشدن ایمیل‌ها توسط Gmail و Outlook
  • کاهش اعتبار IP و دامنه
  • دریافت Abuse Report از دیتاسنتر

cPanel به‌صورت پیش‌فرض برای ارسال کاربران از SMTP Authentication استفاده می‌کند و استفاده از سرور به‌عنوان Open Relay را توصیه یا پشتیبانی نمی‌کند.

در این مقاله موارد زیر را بررسی می‌کنیم:

  • مفهوم Relay در cPanel
  • تفاوت Relay کاربران با Smarthost
  • تنظیم SMTP Authentication
  • استفاده از پورت 587
  • فعال‌سازی SMTP Restrictions
  • ارسال ایمیل از WordPress و برنامه‌ها
  • مجازکردن یک IP مشخص
  • جلوگیری از POP-before-SMTP
  • تنظیم Email Routing
  • تست Open Relay
  • بررسی Logهای Exim
  • تنظیم Relay خروجی از طریق Smarthost
  • رفع خطاهای 550 و Authentication

Relay در cPanel به چه معنا است؟

عبارت Relay در cPanel معمولاً به دو مفهوم متفاوت اشاره می‌کند:

Relay کاربران و برنامه‌ها از طریق cPanel

در این حالت کاربر، وب‌سایت یا نرم‌افزار به Exim متصل می‌شود و از آن برای ارسال ایمیل به مقصدهای خارجی استفاده می‌کند.

Email client or application
        |
        v
cPanel Exim server
        |
        v
External mail server

نمونه:

Sender: info@example.com
Recipient: customer@gmail.com

برای این نوع ارسال، کاربر باید با Username و Password معتبر SMTP احراز هویت کند.


Relay تمام ایمیل‌های خروجی از طریق Smarthost

در این حالت خود سرور cPanel تمام ایمیل‌های خروجی را به یک SMTP Server خارجی تحویل می‌دهد.

Website or mailbox
        |
        v
cPanel Exim
        |
        v
External smarthost
        |
        v
Recipient mail server

نمونه سرویس‌های Smarthost:

Amazon SES
MailChannels
Mailgun
SendGrid
Google Workspace SMTP Relay
External mail gateway

تنظیم این دو نوع Relay با یکدیگر متفاوت است و هر دو در این مقاله بررسی می‌شوند.


تفاوت Local Delivery و Relay

فرض کنید دامنه example.com روی همان سرور cPanel میزبانی می‌شود.

ارسال زیر یک تحویل داخلی است:

Sender: info@example.com
Recipient: support@example.com

اما ارسال زیر Relay محسوب می‌شود:

Sender: info@example.com
Recipient: customer@gmail.com
نوع ارسالفرستندهگیرندهنیاز به SMTP Authentication
داخلیinfo@example.comsupport@example.comمعمولاً خیر
خارجیinfo@example.comuser@gmail.comبله
دریافت از اینترنتuser@gmail.cominfo@example.comخیر
ارسال وب‌سایتWordPressuser@outlook.comبله
SmarthostEximسرور Relay خارجیبراساس سرویس

Mail Serverهای دیگر باید بتوانند بدون Authentication به پورت 25 متصل شوند و برای Mailboxهای محلی ایمیل ارسال کنند. اما کاربران و برنامه‌ها برای ارسال به مقصد خارجی باید احراز هویت شوند.


پیش‌نیازهای تنظیم Relay

برای انجام تنظیمات به موارد زیر نیاز دارید:

WHM root access
A valid server hostname
A valid service SSL certificate
Exim service enabled
Ports 25, 465, and 587 configured
A valid email account for testing
Access to the server firewall

نمونه اطلاعات این مقاله:

Server hostname: server.example.com
Mail domain: example.com
Email account: notification@example.com
Server IP: 203.0.113.10
External application IP: 203.0.113.25
Smarthost: relay.example.net

مقادیر نمونه را با اطلاعات واقعی سرور خود جایگزین کنید.


پورت‌های SMTP در cPanel

cPanel و Exim از پورت‌های استاندارد SMTP استفاده می‌کنند. پورت‌های 465 و 587 باید در فایروال سرور باز باشند و برای کاربران نهایی استفاده از اتصال رمزنگاری‌شده توصیه می‌شود.

پورتکاربردAuthenticationEncryption
25ارتباط میان Mail Serverهامعمولاً خیرSTARTTLS
465ارسال کاربرانبلهSSL/TLS
587ارسال کاربرانبلهSTARTTLS
993دریافت IMAPبلهSSL/TLS
995دریافت POP3بلهSSL/TLS

تنظیم پیشنهادی کاربران:

Outgoing server: mail.example.com
Port: 587
Encryption: STARTTLS
Authentication: Enabled
Username: Full email address
Password: Email account password

مرحله اول: بررسی Exim

در WHM وارد مسیر زیر شوید:

WHM
Service Configuration
Service Manager

مطمئن شوید سرویس زیر فعال است:

Exim Mail Server

از طریق SSH:

systemctl status exim

یا با اسکریپت cPanel:

/scripts/restartsrv_exim --status

Restart سرویس:

/scripts/restartsrv_exim

بررسی نسخه:

exim -bV

مرحله دوم: فعال‌سازی SMTP Restrictions

در WHM وارد مسیر زیر شوید:

WHM
Security Center
SMTP Restrictions

روی گزینه زیر کلیک کنید:

Enable

SMTP Restrictions باعث می‌شود فقط Exim، کاربر root و سرویس‌های مجاز مانند Mailman بتوانند مستقیماً به SMTP Serverهای خارجی متصل شوند. این تنظیم مانع می‌شود کاربران و Scriptهای آلوده، Exim را دور بزنند و مستقیماً Spam ارسال کنند.

تنظیم پیشنهادی:

SMTP Restrictions: Enabled

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

Local sendmail binary
Authenticated SMTP through Exim
A configured external smarthost

تفاوت SMTP Restrictions با Relay

SMTP Restrictions مشخص نمی‌کند چه کسی اجازه Relay از طریق Exim را دارد.

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

Without SMTP Restrictions:

Compromised script
        |
        v
Direct connection to Gmail SMTP
With SMTP Restrictions:

Compromised script
        |
        v
Must pass through Exim
        |
        v
Exim logging and restrictions

Relay کاربران همچنان از طریق SMTP Authentication کنترل می‌شود.


مرحله سوم: اجبار TLS پیش از SMTP Authentication

وارد مسیر زیر شوید:

WHM
Service Configuration
Exim Configuration Manager
Basic Editor
Security

گزینه زیر را پیدا کنید:

Require clients to connect with SSL or issue the STARTTLS command before they are allowed to authenticate with the server

آن را روی حالت زیر قرار دهید:

On

این گزینه باعث می‌شود Client پیش از ارسال Username و Password، اتصال SSL یا STARTTLS برقرار کند. این تنظیم در نسخه‌های فعلی cPanel به‌صورت پیش‌فرض فعال است.

تنظیم پیشنهادی:

Require TLS before SMTP authentication: On
Allow weak SSL/TLS ciphers: Off

cPanel در نسخه‌های فعلی فقط TLS 1.2 یا جدیدتر را پشتیبانی می‌کند و استفاده از Cipherهای ضعیف را توصیه نمی‌کند.


مرحله چهارم: بررسی SSL سرویس ایمیل

وارد مسیر زیر شوید:

WHM
Service Configuration
Manage Service SSL Certificates

Certificate سرویس‌های زیر را بررسی کنید:

Exim
Dovecot
cPanel
WHM
Webmail

Certificate باید برای یکی از Hostnameهای زیر معتبر باشد:

server.example.com
mail.example.com

تنظیم پیشنهادی Email Client:

SMTP hostname: Hostname covered by SSL certificate
IMAP hostname: Hostname covered by SSL certificate

از Raw IP برای اتصال SMTP رمزنگاری‌شده استفاده نکنید؛ زیرا Certificate معمولاً برای IP صادر نشده است.


مرحله پنجم: تنظیم Email Client

برای Outlook، Thunderbird و موبایل:

تنظیممقدار
SMTP Hostmail.example.com
SMTP Port587
EncryptionSTARTTLS
Authenticationفعال
Usernameuser@example.com
Passwordرمز حساب ایمیل
SPAغیرفعال

در Outlook گزینه زیر باید فعال باشد:

My outgoing server requires authentication

همچنین:

Use same settings as my incoming mail server

پورت 587 در cPanel برای Message Submission به SMTP Authentication نیاز دارد. اگر Client احراز هویت نکند، Exim پیام را رد می‌کند.


تنظیم پورت 465

برای استفاده از SSL/TLS مستقیم:

SMTP Port: 465
Encryption: SSL/TLS
Authentication: Enabled

پورت 465 نیز باید در فایروال باز باشد.

بررسی:

ss -lntp | grep -E ':25|:465|:587'

نمونه خروجی:

LISTEN 0 128 0.0.0.0:25
LISTEN 0 128 0.0.0.0:465
LISTEN 0 128 0.0.0.0:587

مرحله ششم: غیرفعال‌کردن POP-before-SMTP

وارد مسیر زیر شوید:

WHM
Server Configuration
Tweak Settings
Mail

گزینه زیر را پیدا کنید:

Allow users to relay mail if they use an IP address through which someone has validated an IMAP or POP3 login

آن را روی حالت زیر قرار دهید:

Off

در روش POP-before-SMTP، IP کاربر پس از Login به POP3 یا IMAP برای مدتی مجاز به Relay می‌شود. cPanel استفاده از این روش را به‌دلیل ریسک امنیتی و حریم خصوصی توصیه نمی‌کند و پیشنهاد می‌دهد کاربران از SMTP Authentication استفاده کنند.

تنظیم پیشنهادی:

POP-before-SMTP: Off
Add X-PopBeforeSMTP header: Off

مرحله هفتم: ارسال ایمیل از WordPress و وب‌سایت

برای ارسال ایمیل از WordPress، WHMCS، Laravel، PHP یا سایر برنامه‌ها، بهترین روش استفاده از SMTP Authentication است.

ابتدا در cPanel یک Email Account جداگانه ایجاد کنید:

notification@example.com

سپس برنامه را تنظیم کنید:

SMTP Host: mail.example.com
SMTP Port: 587
Encryption: STARTTLS
Authentication: Enabled
Username: notification@example.com
Password: Email account password
From address: notification@example.com

cPanel استفاده از SMTP Authentication برای PHP Scriptها و وب‌سایت‌ها را توصیه می‌کند؛ زیرا حذف Authentication می‌تواند پس از هک‌شدن سایت، ارسال Spam را آسان‌تر کند.


تنظیم نمونه WordPress

در افزونه SMTP:

Mailer: Other SMTP
SMTP Host: mail.example.com
Encryption: TLS
SMTP Port: 587
Authentication: On
SMTP Username: notification@example.com
SMTP Password: Strong password
From Email: notification@example.com
Force From Email: Enabled

پس از ذخیره تنظیمات، Test Email ارسال کنید.


آیا برای وب‌سایت محلی باید IP را Whitelist کنیم؟

خیر. در بیشتر شرایط نیازی به Whitelist کردن IP نیست.

حتی اگر سایت روی همان سرور cPanel قرار دارد، بهتر است از SMTP Authentication یا Sendmail داخلی استفاده کند.

روش پیشنهادی:

Authenticated SMTP

روش جایگزین برای PHP:

Local sendmail binary

روش غیرپیشنهادی:

Disable SMTP authentication
Trust all local scripts
Allow broad IP relay

مرحله هشتم: Relay برای یک سرور خارجی با SMTP Authentication

فرض کنید یک Application Server جداگانه باید از طریق cPanel ایمیل ارسال کند.

تنظیم آن سرور:

SMTP Host: mail.example.com
SMTP Port: 587
Encryption: STARTTLS
Authentication: Enabled
Username: application@example.com
Password: Strong password

این روش بهتر از IP Whitelisting است؛ زیرا:

  • دسترسی به یک Mailbox مشخص محدود می‌شود.
  • Password قابل تغییر است.
  • فعالیت‌ها در Exim Log ثبت می‌شوند.
  • تغییر IP برنامه باعث قطع دائمی دسترسی نمی‌شود.
  • نیازی به عبور از Spam Checkها نیست.

مرحله نهم: Relay براساس IP مشخص

در شرایط خاص ممکن است یک نرم‌افزار قدیمی از SMTP Authentication پشتیبانی نکند.

برای مجازکردن IP آن وارد مسیر زیر شوید:

WHM
Service Configuration
Exim Configuration Manager
Basic Editor
Access Lists
Trusted SMTP IP Addresses

روی Edit کلیک کرده و IP دقیق را وارد کنید:

203.0.113.25

تنظیم Trusted SMTP IP Addresses باعث می‌شود IP واردشده از چند بررسی SMTP، شامل Relay Check، Sender Check، Recipient Verification و SpamAssassin عبور کند. به همین دلیل باید فقط برای IPهای کاملاً مورداعتماد استفاده شود.

این گزینه فقط Relay را فعال نمی‌کند؛ بلکه چندین کنترل امنیتی دیگر را نیز دور می‌زند.


استفاده از IP دقیق

تنظیم مناسب:

203.0.113.25

تنظیم پرخطر:

203.0.113.0/24

تنظیم بسیار خطرناک:

0.0.0.0/0

از Rangeهای بزرگ استفاده نکنید.


Trusted SMTP IP با Trusted Mail User متفاوت است

تنظیمکاربرد
Trusted SMTP IP Addressesعبور IP از چند بررسی SMTP و Relay
Trusted Mail Usersاجازه برخی تغییرات From Header
Sender Verification Bypassعبور از بررسی Sender
RBL Whitelistعبور از بررسی Blacklist
Backup MX Hostsتعریف Mail Server پشتیبان

برای مجازکردن Relay یک برنامه، اضافه‌کردن IP به RBL Whitelist یا Sender Verification Bypass کافی نیست.


بررسی IP واقعی برنامه

ممکن است Application Server پشت NAT قرار داشته باشد و Exim یک IP متفاوت مشاهده کند.

برای پیدا کردن IP واقعی:

grep "application@example.com" /var/log/exim_mainlog

یا اتصال‌های اخیر:

grep "H=" /var/log/exim_mainlog | tail -n 50

نمونه:

H=app.example.net [203.0.113.25]

همان IPی را که Exim در Log مشاهده می‌کند در Trusted SMTP IP Addresses وارد کنید.


مرحله دهم: جلوگیری از ارسال مستقیم Scriptها

در WHM وارد مسیر زیر شوید:

WHM
Server Configuration
Tweak Settings
Mail

گزینه زیر را بررسی کنید:

Prevent nobody from sending mail

فعال‌کردن آن مانع می‌شود Processهایی که با کاربر nobody اجرا می‌شوند مستقیماً ایمیل خارجی ارسال کنند. cPanel این گزینه را در تنظیمات امنیتی پیشنهادی خود توصیه می‌کند، اما ممکن است روی PHP یا CGI قدیمی اثر بگذارد.

تنظیم پیشنهادی:

Prevent nobody from sending mail: On

پیش از فعال‌سازی مطمئن شوید سایت‌ها از یکی از موارد زیر استفاده می‌کنند:

PHP-FPM with account user
suEXEC
Authenticated SMTP

پس از تغییر، فرم‌های تماس و ایمیل‌های سیستمی سایت‌ها را آزمایش کنید.


مرحله یازدهم: بررسی Email Routing

گاهی خطای Relay به تنظیم Relay مربوط نیست و علت آن اشتباه‌بودن Email Routing دامنه است.

برای دامنه‌ای که ایمیل آن روی همان سرور cPanel میزبانی می‌شود:

Local Mail Exchanger

برای دامنه‌ای که از Google Workspace، Microsoft 365 یا Mail Server دیگری استفاده می‌کند:

Remote Mail Exchanger

cPanel براساس Email Routing تعیین می‌کند ایمیل دامنه باید روی سرور محلی تحویل شود یا به Mail Server خارجی ارسال شود. تنظیم اشتباه می‌تواند باعث خطای Rejected Relay Attempt شود.


مسیر تنظیم Email Routing در cPanel

cPanel
Email
Email Routing

دامنه را انتخاب کرده و یکی از گزینه‌ها را مشخص کنید:

گزینهکاربرد
Automatically Detectتشخیص براساس Zone محلی
Local Mail Exchangerایمیل روی همین سرور است
Backup Mail Exchangerسرور Mail Backup است
Remote Mail Exchangerایمیل روی سرور دیگری است

اگر MX دامنه به همین سرور اشاره می‌کند:

Local Mail Exchanger

اگر MX به Google Workspace یا Microsoft 365 اشاره می‌کند:

Remote Mail Exchanger

بررسی localdomains و remotedomains

از طریق SSH:

grep -x "example.com" /etc/localdomains

و:

grep -x "example.com" /etc/remotedomains

دامنه‌ای که ایمیل آن روی همان سرور است باید داخل فایل زیر باشد:

/etc/localdomains

دامنه‌ای که Mail Server خارجی دارد باید داخل فایل زیر باشد:

/etc/remotedomains

دامنه نباید هم‌زمان در هر دو فایل قرار داشته باشد.


خطای Rejected Relay Attempt برای ایمیل ورودی

نمونه خطا:

550 Please turn on SMTP Authentication in your mail client

یا:

Rejected relay attempt

اگر این خطا هنگام دریافت ایمیل برای یک Mailbox محلی رخ می‌دهد، معمولاً دامنه به‌اشتباه Remote Mail Exchanger تنظیم شده است. cPanel توصیه می‌کند دامنه در /etc/localdomains باشد و در Email Routing روی Local Mail Exchanger قرار گیرد.


مرحله دوازدهم: تست SMTP Authentication

برای تست اتصال TLS:

openssl s_client \
-starttls smtp \
-connect mail.example.com:587 \
-crlf

پس از اتصال:

EHLO test.example.net

سرور باید قابلیت Authentication را نمایش دهد:

250-AUTH PLAIN LOGIN

برای خروج:

QUIT

این تست وجود STARTTLS و قابلیت AUTH را بررسی می‌کند.


تست پورت 465

openssl s_client \
-connect mail.example.com:465 \
-crlf

پس از اتصال:

EHLO test.example.net
QUIT

نصب ابزار swaks

در AlmaLinux و Rocky Linux ممکن است ابتدا EPEL لازم باشد:

dnf install epel-release -y
dnf install swaks -y

در Ubuntu:

apt update
apt install swaks -y

تست ارسال احراز هویت‌شده

swaks \
--server mail.example.com \
--port 587 \
--tls \
--auth LOGIN \
--auth-user notification@example.com \
--auth-password 'EMAIL_PASSWORD' \
--from notification@example.com \
--to recipient@gmail.com

مقدار زیر را جایگزین کنید:

EMAIL_PASSWORD

رمز را داخل History یا Script عمومی ذخیره نکنید.


تست Open Relay

تست باید از سیستمی خارج از سرور انجام شود که IP آن در Trusted SMTP IP Addresses قرار ندارد.

swaks \
--server mail.example.com \
--port 25 \
--from external-sender@example.net \
--to external-recipient@example.org

در این تست:

Sender domain: External
Recipient domain: External
Authentication: None

سرور امن باید پیام را رد کند.

خروجی موردانتظار:

550 Relay not permitted

یا:

550 Please turn on SMTP Authentication

یا:

SMTP AUTH is required

اگر پیام پذیرفته شد و وارد Queue گردید، تنظیمات Relay ناامن هستند.


تست دریافت ایمیل محلی

تست Open Relay نباید با دریافت معمول ایمیل اشتباه گرفته شود.

تست صحیح دریافت:

swaks \
--server mail.example.com \
--port 25 \
--from external-sender@example.net \
--to local-user@example.com

اگر example.com روی همان cPanel میزبانی شود، این پیام باید بدون SMTP Authentication پذیرفته شود.


بررسی Logهای Exim

Log اصلی:

/var/log/exim_mainlog

پیام‌های ردشده:

/var/log/exim_rejectlog

خطاهای بحرانی:

/var/log/exim_paniclog

مشاهده زنده Log:

tail -f /var/log/exim_mainlog

جست‌وجوی Mailbox:

grep "notification@example.com" /var/log/exim_mainlog

جست‌وجوی خطای Relay:

grep -i "relay" /var/log/exim_rejectlog

جست‌وجوی Authentication:

grep -i "auth" /var/log/exim_mainlog | tail -n 100

شناسه‌های مهم Logهای Exim

علامتمفهوم
<=پیام وارد Exim شده است
=>پیام تحویل یا ارسال شده است
->تحویل اضافی
==ارسال موقتاً ناموفق است
**ارسال دائماً ناموفق است
Completedپردازش پیام تمام شده است

نمونه ورود:

<= notification@example.com H=client.example.net [203.0.113.25]

نمونه ارسال موفق:

=> recipient@gmail.com R=dkim_lookuphost T=dkim_remote_smtp

بررسی Mail Queue

نمایش تعداد پیام‌ها:

exim -bpc

نمایش Queue:

exim -bp

مشاهده جزئیات یک پیام:

exim -Mvh MESSAGE_ID

مشاهده Body:

exim -Mvb MESSAGE_ID

ردیابی پیام:

exigrep MESSAGE_ID /var/log/exim_mainlog

افزایش ناگهانی Queue می‌تواند نشانه موارد زیر باشد:

Compromised email password
Compromised website
Unsafe trusted SMTP IP
Open relay
Invalid recipient list
Blocked outbound port 25
Smarthost failure

تنظیم محدودیت ارسال کاربران

برای جلوگیری از ارسال غیرعادی، از مسیر زیر محدودیت ساعتی تعریف کنید:

WHM
Server Configuration
Tweak Settings
Mail

گزینه:

Max hourly emails per domain

همچنین می‌توان برای هر Package یا Account محدودیت جداگانه تعیین کرد.

محدودیت پیشنهادی به نوع سایت بستگی دارد:

نوع سرویسمحدودیت نمونه
سایت شرکتی100 ایمیل در ساعت
فروشگاه300 ایمیل در ساعت
سایت پرترافیکبراساس مصرف واقعی
Newsletterاستفاده از سرویس تخصصی

ارسال Newsletter حجیم از SMTP معمولی هاست اشتراکی توصیه نمی‌شود.


Relay خروجی از طریق Smarthost

اگر پورت 25 خروجی سرور مسدود است یا قصد دارید ایمیل‌ها از سرویس دیگری ارسال شوند، باید Smarthost تنظیم کنید.

مسیر:

WHM
Service Configuration
Exim Configuration Manager
Basic Editor
Mail

گزینه:

Smarthost support

برای ارسال تمام ایمیل‌ها از یک سرور خارجی:

* relay.example.net

برای استفاده از پورت 587:

* relay.example.net::587

در Route List، علامت * تمام دامنه‌های مقصد را پوشش می‌دهد و دو : برای تعیین پورت استفاده می‌شود. cPanel Smarthost Support را از طریق Basic Editor پشتیبانی می‌کند.


تنظیم Smarthost با Authentication

در همان بخش گزینه زیر را فعال کنید:

Smarthost requires SMTP authentication: On

سپس:

Smarthost username: SMTP_USERNAME
Smarthost password: SMTP_PASSWORD

cPanel می‌تواند برای تمام Smarthostهای تعریف‌شده در Basic Editor از یک Username و Password مشترک استفاده کند. برای Smarthostهای متعدد با Credentials متفاوت باید از Advanced Editor استفاده شود.

نمونه:

Smarthost support: * relay.example.net::587
Smarthost requires SMTP authentication: On
Smarthost username: smtp-user@example.net
Smarthost password: Strong password

پس از ذخیره، ارسال را آزمایش کنید.


تنظیم Smarthost بدون Authentication و براساس IP

بعضی سرویس‌های Relay، IP سرور cPanel را Whitelist می‌کنند و Username و Password نمی‌خواهند.

تنظیم:

Smarthost support: * relay.example.net::587
Smarthost requires SMTP authentication: Off

در پنل سرویس Relay باید IP خروجی cPanel مجاز شده باشد:

203.0.113.10

ارسال فقط دامنه‌های مشخص از Smarthost

Smarthost Support می‌تواند فقط برای دامنه‌های خاص تنظیم شود.

نمونه ساده:

example.com relay.example.net::587

برای تنظیمات پیچیده چند دامنه، cPanel استفاده از Route List یا Advanced Editor را پیشنهاد می‌کند.


نکته مهم درباره DKIM و SPF در Smarthost

پس از فعال‌کردن Smarthost بررسی کنید:

  • آیا DKIM توسط cPanel امضا می‌شود؟
  • آیا Smarthost DKIM را تغییر می‌دهد؟
  • آیا IP یا Hostname سرویس Relay داخل SPF قرار دارد؟
  • آیا Return-Path با دامنه هماهنگ است؟
  • آیا سرویس Relay نیاز به Domain Verification دارد؟

در Basic Editor گزینه‌ای برای اضافه‌کردن Smarthostها به SPF دامنه‌ها وجود دارد. این قابلیت با عنوان Autodiscovery SPF include hosts from the smarthost route list نمایش داده می‌شود.


ویرایش مستقیم exim.conf ممنوع

فایل زیر را مستقیماً ویرایش نکنید:

/etc/exim.conf

تغییر مستقیم این فایل موقت است و ممکن است هنگام بروزرسانی یا بازسازی تنظیمات حذف شود.

برای تغییرات دائمی از مسیر زیر استفاده کنید:

WHM
Service Configuration
Exim Configuration Manager

cPanel تنظیمات سفارشی را در ساختارهای مربوط به /etc/exim.conf.local نگهداری کرده و فایل اصلی Exim را بازسازی می‌کند.


Backup تنظیمات Exim

پیش از تغییرات مهم وارد مسیر زیر شوید:

WHM
Service Configuration
Exim Configuration Manager
Backup

از تنظیمات Backup بگیرید.

از طریق SSH نیز می‌توانید فایل‌های مرتبط را ذخیره کنید:

cp -a \
/etc/exim.conf.local \
/root/exim.conf.local.backup

در صورت وجود:

cp -a \
/etc/exim.conf.localopts \
/root/exim.conf.localopts.backup

بازسازی تنظیمات Exim

در صورت نیاز:

/scripts/buildeximconf

سپس:

/scripts/restartsrv_exim

بررسی Syntax و نسخه:

exim -bV

قبل از اجرای بازسازی، از تنظیمات سفارشی Backup داشته باشید.


رفع خطای SMTP AUTH is required

نمونه:

SMTP AUTH is required for message submission on port 587

علت:

The client connected to port 587 without authentication

راهکار:

Enable SMTP authentication
Use the full email address as username
Verify the email password
Use STARTTLS
Disable SPA unless specifically required

cPanel این خطا را نتیجه پیکربندی‌نشدن SMTP Authentication روی Client می‌داند.


رفع خطای 550 Relay Not Permitted

نمونه:

550 Please turn on SMTP Authentication in your mail client

دلایل احتمالی:

  • SMTP Authentication غیرفعال است.
  • Username اشتباه است.
  • Password اشتباه است.
  • دامنه Local باید Remote باشد یا برعکس.
  • IP برنامه Trusted نیست.
  • برنامه از پورت اشتباه استفاده می‌کند.
  • MX و Email Routing هماهنگ نیستند.

بررسی Log:

grep -i "rejected relay" /var/log/exim_rejectlog

ارسال داخلی انجام می‌شود اما خارجی انجام نمی‌شود

این وضعیت معمولاً نشان می‌دهد Mailbox و Local Delivery صحیح هستند، اما Client اجازه Relay ندارد.

بررسی کنید:

SMTP Authentication: Enabled
SMTP Port: 587
Encryption: STARTTLS
Username: Full email address
Password: Correct

همچنین Log را بررسی کنید:

tail -n 100 /var/log/exim_mainlog

سایت ایمیل نمی‌فرستد

موارد زیر را بررسی کنید:

  1. افزونه SMTP نصب و فعال باشد.
  2. Username و Password صحیح باشند.
  3. From Address با حساب SMTP هماهنگ باشد.
  4. پورت 587 در CSF باز باشد.
  5. SMTP Restrictions فعال باشد، اما سایت از Exim استفاده کند.
  6. حساب ایمیل Suspended نباشد.
  7. محدودیت ساعتی پر نشده باشد.
  8. DNS دامنه صحیح باشد.
  9. Exim Log بررسی شود.

تست اتصال از همان Account:

openssl s_client \
-starttls smtp \
-connect mail.example.com:587 \
-crlf

بررسی CSF

در صورت استفاده از CSF، پورت‌های SMTP باید در TCP_IN قرار داشته باشند:

25,465,587

بررسی:

grep '^TCP_IN' /etc/csf/csf.conf

در صورت تغییر:

csf -r

همچنین گزینه‌های زیر را با SMTP Restrictions هماهنگ کنید:

SMTP_BLOCK
SMTP_ALLOWLOCAL
SMTP_REDIRECT

از اعمال هم‌زمان Ruleهای متناقض در CSF و WHM خودداری کنید.


تنظیم امن پیشنهادی

SMTP Restrictions: Enabled

Exim:
Require TLS before authentication: On
Allow weak SSL/TLS ciphers: Off

Tweak Settings:
POP-before-SMTP: Off
Prevent nobody from sending mail: On

Email clients:
Port: 587
Encryption: STARTTLS
Authentication: Enabled

Websites:
Authenticated SMTP
Dedicated email account

External applications:
Authenticated SMTP preferred
Trusted SMTP IP only when authentication is impossible

Email routing:
Local domains: Local Mail Exchanger
External mail domains: Remote Mail Exchanger

چک‌لیست نهایی Relay در cPanel

پس از کانفیگ موارد زیر را بررسی کنید:

  • Exim فعال است.
  • SMTP Restrictions فعال است.
  • پورت‌های 25، 465 و 587 باز هستند.
  • Service SSL Certificate معتبر است.
  • TLS پیش از Authentication الزامی است.
  • Weak Cipherها غیرفعال هستند.
  • کاربران از پورت 587 یا 465 استفاده می‌کنند.
  • SMTP Authentication فعال است.
  • Username به‌صورت آدرس کامل ایمیل وارد شده است.
  • POP-before-SMTP غیرفعال است.
  • وب‌سایت‌ها از SMTP Authentication استفاده می‌کنند.
  • Trusted SMTP IP فقط شامل IPهای ضروری است.
  • Range گسترده در Trusted SMTP IP وجود ندارد.
  • Email Routing دامنه‌ها صحیح است.
  • دامنه محلی داخل /etc/localdomains است.
  • دامنه خارجی داخل /etc/remotedomains است.
  • Open Relay از یک IP خارجی آزمایش شده است.
  • پیام خارجی بدون Authentication رد می‌شود.
  • دریافت ایمیل برای Mailbox محلی موفق است.
  • Exim Log بررسی شده است.
  • Mail Queue وضعیت عادی دارد.
  • محدودیت ارسال ساعتی تنظیم شده است.
  • قبل از تغییرات Advanced Editor Backup تهیه شده است.

مطالعات بیشتر

برای مطالعه جزئیات بیشتر می‌توانید از منابع رسمی زیر استفاده کنید:

  • مستندات SMTP Restrictions در cPanel
  • مستندات Exim Configuration Manager
  • راهنمای Exim Configuration Manager Basic Editor
  • راهنمای تنظیم SMTP برای PHP و وب‌سایت
  • راهنمای Email Routing در cPanel
  • راهنمای رفع خطای Rejected Relay Attempt
  • راهنمای تنظیم Smarthost در cPanel
  • راهنمای Smarthost همراه SMTP Authentication
  • راهنمای ویرایش صحیح تنظیمات Exim
  • پورت‌های موردنیاز cPanel و WHM
  • آموزش کانفیگ صحیح Exim — مقاله مرتبط در دانش‌نامه
  • آموزش نصب MailEnable و کانفیگ کامل آن — مقاله مرتبط در دانش‌نامه
  • آموزش تنظیم صحیح Relay در MailEnable — مقاله مرتبط در دانش‌نامه

جمع‌بندی

در cPanel و WHM، Relay امن کاربران و وب‌سایت‌ها باید از طریق Exim و SMTP Authentication انجام شود.

تنظیم اصلی کاربران:

SMTP Server: mail.example.com
Port: 587
Encryption: STARTTLS
Authentication: Enabled
Username: Full email address

SMTP Restrictions نیز باید فعال باشد تا کاربران و Scriptهای محلی نتوانند Exim را دور بزنند و مستقیماً به SMTP Serverهای خارجی متصل شوند.

برای WordPress، WHMCS و سایر برنامه‌ها بهتر است یک Email Account اختصاصی ساخته و SMTP Authentication فعال شود. اضافه‌کردن IP به Trusted SMTP IP Addresses فقط زمانی مناسب است که برنامه امکان Authentication نداشته باشد؛ زیرا این تنظیم علاوه بر Relay Check، چند بررسی امنیتی دیگر را نیز دور می‌زند.

همچنین خطاهای Relay همیشه ناشی از SMTP Authentication نیستند. اشتباه‌بودن Email Routing و قرارگرفتن دامنه در /etc/remotedomains به‌جای /etc/localdomains می‌تواند دریافت ایمیل را با خطای Rejected Relay Attempt مواجه کند.

در صورتی که تمام ایمیل‌های خروجی باید از یک سرویس خارجی عبور کنند، Smarthost Support در Exim Configuration Manager تنظیم می‌شود. برای تغییرات Exim نباید فایل /etc/exim.conf مستقیماً ویرایش شود؛ زیرا این تغییرات پایدار نیستند و ممکن است هنگام بازسازی تنظیمات از بین بروند.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • تفاوت SQL و Database Management System
  • تفاوت Database، Table، Row و Column
  • ایجاد کاربر جدید در Windows Server
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش تنظیم صحیح relay در cpanel

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام