اگر صاحب هاست هستید و از سرویس میل سرور برای ارسال ایمیل به کاربران استفاده میکنید، و در ضمن متوجه شدید که ایمیلهای ارسالی به یاهو یا دیگر دامنهها نمیرود، این آموزش را دنبال کنید. در این مقاله سعی داریم برای دو سرویس qmail و postfix راه حلی را ارائه نماییم.
راه حل ما استفاده از مفهومی به نام relay host است که یک هاست میانجی نقش واسطه را بین میل سرور شما و میل سرور مقصد بازی میکند. یکی از هاستهای میانجی میتواند mailjet.com باشد که با ثبت نام در آن میتوان روزانه تا 200 ایمیل و ماهیانه تا 6000 ایمیل بوسیله آن ارسال کرد. البته این در صورتی است که شما از اشتراک رایگان آن استفاده میکنید. برای محدودیت کمتر باید از اشتراکهای هزینهدار دیگری استفاده کنید که جزئیات آن در این لینک قابل مشاهده است.
این هاستهای میانجی بعد از ثبت نام شما یک یوزرنیم و پسورد برای برقراری اتصال smtp در اختیار شما قرار میدهند که ما در این آموزش فرض میکنیم عبارتند از username و password. همچنین فرض کنید که از هاست میانجی mailjet.com استفاده میکنیم. در ادامه به روش تنظیم کار برای qmail و postfix میپردازیم.
تنظیمات qmail: سرویس qmail به خودی خود از این روش پشتیبانی نمیکند. لذا برای حل این قبیل مسئلهها از پچهایی استفاده میکنند که همراه با qmail میتوانند نصب شوند. اطلاعات در مورد این پچها را در این لینک میتوانید ملاحظه بفرمائید. پچی که ما باید از آن استفاده کنیم نامش qmail-remote-auth است که نصبش نیاز به پچ دیگری به نام qmail-smtpd-auth دارد. برای امتحان کردن اینکه آیا qmail سرور شما دارای این پچ است یا نه دستور زیر را وارد کنید:
# rpm -qi qmail
اگر خروجی این دستور شامل اسامی پچهای مورد نیاز زیر بود درمییابیم که qmail شما خوشبختانه میتواند از این امکان استفاده کند. وگرنه باید این پچها رو خودتان دستی نصب کنید.
...
~~~~~~ Patches Applied ~~~~~~
...
Erwin Hoffman - SMTP-AUTH Version 0.57
...
Robert Sander - qmail-remote-auth
...
حال که امکان تنظیم وجود دارد، برای انجام آن، فایل /var/qmail/control/smtproutes را باز کرده و خط زیر را به آن اضافه کنید:
:in.mailjet.com username password
اگر هم میخواهید فقط در ایمیلهایی که به یاهو ارسال میشود، از هاست میانجی استفاده شود باید به جای خط بالا از خطوط زیر استفاده کرد. همانطور که ملاحظه میفرمائید چون یاهو در حال حاضر برای کاربران خود امکان ساخت ایمیلهایی با پسوند mail@yahoo.com، mail@ymail.com و mail@rocketmail.com را میدهد لذا باید نام همه آنها را وارد کنیم:
yahoo.com:in.mailjet.com username password
ymail.com:in.mailjet.com username password
rocketmail.com:in.mailjet.com username password
تنظیمات postfix: در سرویس postfix باید فایل /etc/postfix/main.cf را باز کرده و خطوط زیر را در آن جا دهید:
relayhost = in.mailjet.com
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
بعد در فایلی با نام /etc/postfix/sasl_passwd خط زیر را قرار دهید:
in.mailjet.com username:password
و در نهایت دستورات زیر را اجرا کنید:
# cd /etc/postfix/
# chown root:root sasl_passwd ; chmod 600 sasl_passwd
# postmap sasl_passwd
# postfix reload
اجرا: برای اجرا نیازی به دانش یا عمل خاصی نیست. همان روال سابق انجام میشود و بدون اینکه متوجه هم شوید ایمیلها از طریق میانجی به مقصد ارسال میشوند.