من چند وقت یک بار مجبور میشوم روی سرورهای جدیدی که برای کارهای شخصی یا کاری میگیرم یک ایمیلسرور روی ویندوز راه بیندازم. همیشه میخواستهام روال کار را یک جا مستند کنم تا برای دفعهٔ بعد به آن مراجعه کنم فرصت نمیشده. این بار فرصت شد و گام به گام مراحل را مستند میکنم.
تذکر مهم: من تنها نیاز داشتهام و دارم که ایمیل ارسال کنم (ایمیلهای تأییدیهٔ نامنویسی کاربران) و هیچگاه علاقمند به دریافت ایمیل نبودهام! دریافت ایمیل قطعاً مراحل بیشتری مانند باز کردن پورتهای ورودی روی دیوارهٔ آتش سرور دارد که من تجربهٔ آن را ندارم.
۰. اولین گام، اگر سرور را تازه در اختیار گرفتهاید این است که آیپی آن را در سرویسهای لیست سیاه ارسال ایمیل مثل این جستجو کنید و مطمئن شوید که آیپی تمیز است. اگر بعداً متوجه شوید که آیپی سرور در این لیستها قرار دارد نیز میتوانید برای حذف از آنها درخواست بدهید اما فرایند حذف از این لیستها زمانبر است. اگر همان ابتدا متوجه بشوید بدون صرف وقت برای گامهای بعدی میتوانید مسئله را با ارائهکنندهٔ سرور در میان بگذارید که آیپی دیگری روی سرور تنظیم کنند.
۱. گام اول تنظیم رکوردهای dns دامنهٔ ارسال ایمیل است. در پیشخان DNS یک رکورد از نوع A با نام mail میسازیم (یا اگر وجود دارد مقدار آن را ویرایش میکنیم) و در مقدار آن IP سرور مقصد را میگذاریم:

سپس برای آن یک رکورد از نوع MX درست میکنیم و مقدار آن را mail.domainname.com میگذاریم، مثلاً برای مثال تصویر بالا مقدار آن باید مطابق تصویر بعدی باشد.

۲. اچمیلسرور (hMailServer) را دریافت و روی سرور نصب میکنیم. این نرمافزار مبتنی بر داتنت ۲ است و از این جهت باید روی ویندوزهای سرور از طریق سرورمنیجر رل مربوط به NET 3.5. را هم نصب کرده باشید. برای ذخیرهٔ اطلاعات من از SQL Server که پیشتر روی سرور استفاده کردهام استفاده میکنم:

برای hMailServer لازم است یک رمز ادمین تعیین کنید. در مراحل تنظیم نحوهٔ اتصال به SQL Server تعیین کنید که میخواهید پایگاه دادههای جدیدی ایجاد شود. اتصال به SQL Server با Windows Authentication کار نمیکند و با این خطا مواجه میشود:
به جایش مجبورید روی SQL Server کاربر با دسترسی کافی بسازید تا hMailServer بتواند پایگاه دادههایش را بسازد.
لازم است سرویس SQL Server را هم برایش مشخص کنید که هر گاه سرویس اس.کیو.ال ریاستارت شد این سرویس هم ریاستارت شود.

در صورت بروز مشکل در مراحل پیکربندی برنامه را پاک کنید و سرور را ریاستارت کنید و مجدداً آن را نصب کنید.
۳. مرحلهٔ بعد اجرای hMailServer Administrator و اضافه کردن نام دامنه و ایجاد رکورد DKIM در DNS برای اعتبارسنجی دامنه و اسپم نشدن آن در جیمیل است. ابتدا دامنه را در برنامه اضافه میکنیم.

در تنظیمات SMTP هم در قسمت نام سرور محلی نام دامنه را میزنیم (اگر این کار را نکنیم در ارسال ایمیل نام کامپیوتر سرور گذاشته میشود و در بررسی میزان اعتبار ایمیل ارسال شده این خطا ظاهر میشود: We check if there is a server (A Record) behind your hostname).

برای رکورد DKIM طبق این راهنمایی به این نشانی میرویم و فرم را مطابق شکل زیر پرمیکنیم (selector یک رشتهٔ دلخواه است که بعداً باید هر چه اینجا وارد کردیم را داخل نرمافزار هم وارد کنیم):

بعد از تولید کلید خصوصی تولید شده را در یک فایل متنی با پسوند pem ذخیره میکنیم و روی سرور در مسیر ثابتی که بدانیم فایل از آنجا پاک نمیشود کپی میکنیم -کلیدی که من در تصویر نشان دادهام واقعاً استفاده نشده وگرنه کلید واقعی را باید خصوصی نگه دارید- (من معمولاً آن را در پوشهای در مسیر نصب اچمیلسرور کپی میکنم).

و سپس در اچمیلسرور آن را انتخاب میکنیم و selector را هم مطابق همان چیزی که وقت تولید کلید وارد کردهایم وارد میکنیم.
طبق راهنمای تولید در تصویر یکی قبلتر یک رکورد DNS هم از نوع TXT به این صورت ایجاد میکنید:
۴. برای دامنهٔ مد نظر باید کلید متنی SPF را هم در DNS بسازید. ساخت این کلید آسان است و طبق الگوی تصویر بعد نام دامنه و آی.پی را با مقادیر مربوط به خودتان جایگزین کنید:
v=spf1 ip4:1.2.3.4 include:domain.com ~all
۵. رکورد DMARK هم مثل SPF با یک الگو ساخته میشود:
v=DMARC1; p=reject; rua=mailto:report-abuse@domain.com
۶. در hMailServer زیر دامنهٔ مد نظر در قسمت Accounts ایمیل مد نظر خود را بسازید. سپس نرمافزاری را برای ارسال ایمیل پشت سرور نصب کنید. من از تاندربرد استفاده میکنم. از POP3 با پورت ۱۱۰ برای دریافت و از SMTP با پورت ۲۵ به صورت ناامن برای اتصال استفاده کنید و مطمئن شوید پشت سرور با نرمافزار به میلسرورتان وصل میشوید.


۷. بهتر است دیاناس معکوس آیپی ارسال کنندهٔ ایمیل (reverse dns یا rDns) برابر با دامنهٔ ارسال ایمیل (mail.domainname.com) باشد. در سرورهایی که من تا به حال در اختیار داشتهام انجام این تنظیم در اختیار سرویسدهنده است و برای این کار برایشان تیکت میزنم. اگر این کار انجام نشود یا مثلاً به لحاظ آن که سرویسدهنده میزبان چند دامنهٔ ارسال ایمیل باشد و فقط برای یکی بتواند انجام شد مشکل جدی ایجاد نمیشود.
۸. به سایت mail-tester.com بروید و با تاندربرد به ایمیل پیشنهادی آن یک ایمیل بزنید:


و در نهایت در سایت mail-tester نتیجه را ببینید.
