
راهاندازی ایمیل سرور SmarterMail روی Docker شامل چندین مرحله است که برای ایجاد یک محیط کانتینری برای سرور ایمیل SmarterMail انجام میشود. SmarterMail یک راهحل قوی برای میزبانی ایمیل است، اما به طور رسمی تصویری برای Docker ارائه نمیدهد، بنابراین باید یک تصویر سفارشی ایجاد کنید. در اینجا یک راهنمای کلی برای راهاندازی آن آورده شده است.
قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:
از آنجا که SmarterMail تصویری رسمی برای Docker ندارد، باید از یک تصویر ویندوز برای اجرای SmarterMail استفاده کنید. شما باید یک تصویر سرور ویندوز Docker به عنوان پایه انتخاب کنید. دستور زیر را برای دریافت تصویر سرور ویندوز اجرا کنید (میتوانید از نسخه جدیدتر یا پایدارتر بر اساس نیاز خود استفاده کنید):
docker pull mcr.microsoft.com/windows/servercore:ltsc2022
برای نصب و اجرای SmarterMail داخل کانتینر، به یک Dockerfile نیاز دارید. در اینجا یک نمونه از آنچه که ممکن است Dockerfile شما باشد آورده شده است:
# از تصویر سرور ویندوز به عنوان پایه استفاده میکنیم
FROM mcr.microsoft.com/windows/servercore:ltsc2022
# تنظیم متغیرهای محیطی
ENV SM_VERSION=16.3.6789.0
ENV SM_INSTALL_DIR=”C:\\SmarterMail”
# باز کردن پورتهای مورد نیاز برای SmarterMail
EXPOSE 25 587 110 143 993 995 80 443 8181
# نصب وابستگیها و SmarterMail
RUN powershell -Command \
# نصب ویژگیها و ابزارهای مورد نیاز
Install-WindowsFeature -Name Web-Server, Web-Common-Http, Web-Default-Doc, Web-Dyn-Compression; \
# دانلود و نصب SmarterMail
Invoke-WebRequest -Uri “https://www.smartertools.com/SmarterMail/Download/SmarterMail${env:SM_VERSION}.exe” -OutFile “C:\\SmarterMailInstaller.exe”; \
Start-Process -FilePath “C:\\SmarterMailInstaller.exe” -ArgumentList ‘/S’ -Wait; \
Remove-Item -Force “C:\\SmarterMailInstaller.exe”
# شروع SmarterMail هنگام راهاندازی کانتینر
CMD [“C:\\SmarterMail\\SmarterMail.exe”]
حالا باید تصویر Docker خود را با استفاده از Dockerfile که ایجاد کردهاید بسازید. دستور زیر را در همان دایرکتوری که Dockerfile شما در آن قرار دارد اجرا کنید:
docker build -t smartermail-image .
این دستور وابستگیهای لازم را دانلود کرده و SmarterMail را داخل کانتینر نصب میکند.
شما همچنین میتوانید از Docker Compose برای مدیریت کانتینر استفاده کنید، به ویژه اگر قصد دارید از چندین کانتینر (مثلاً برای پایگاه داده، پراکسی معکوس و غیره) استفاده کنید. در زیر یک نمونه از فایل docker-compose.yml است که میتواند به شما کمک کند:
version: “3.8”
services:
smartermail:
image: smartermail-image
container_name: smartermail
ports:
– “25:25”
– “587:587”
– “110:110”
– “143:143”
– “993:993”
– “995:995”
– “80:80”
– “443:443”
– “8181:8181”
volumes:
– smartermail_data:/data
environment:
– SM_VERSION=16.3.6789.0
volumes:
smartermail_data:
driver: local
برای اجرای کانتینر خود با استفاده از Docker Compose، به دایرکتوری بروید که فایل docker-compose.yml شما در آن قرار دارد و دستور زیر را اجرا کنید:
docker-compose up -d
این دستور کانتینر SmarterMail را در حالت detached اجرا میکند. اکنون باید بتوانید از طریق پورتهای پیکربندی شده (معمولاً 8181 برای رابط وب، 25 برای SMTP، 143 برای IMAP و غیره) به SmarterMail دسترسی پیدا کنید.
برای اطمینان از تحویل ایمیل، اطمینان حاصل کنید که رکوردهای DNS دامنه شما به درستی تنظیم شدهاند، مانند:
مطمئن شوید که فایروال شما ترافیک روی پورتهای مورد نیاز را اجازه میدهد.
پس از راهاندازی کانتینر SmarterMail، شما باید آن را با لایسنس SmarterMail خود فعال کنید. به رابط وب با آدرس http://<your_server_ip>:8181 دسترسی پیدا کنید و دستورالعملهای فعالسازی را دنبال کنید.
اجرای SmarterMail روی Docker یک راه عالی برای کانتینریزه کردن سرور ایمیل شما به منظور سهولت در استقرار و مدیریت است. با این حال، از آنجا که SmarterMail یک برنامه مبتنی بر ویندوز است، نیاز به یک کانتینر سرور ویندوز برای اجرا دارد. این فرآیند شامل ایجاد یک Dockerfile سفارشی برای نصب SmarterMail است و میتوانید از Docker Compose برای ارگانیزه کردن بهتر استفاده کنید.
به یاد داشته باشید که SmarterMail به یک لایسنس معتبر نیاز دارد و برای راهاندازی آن در یک محیط تولیدی، پیکربندی مناسب برای مسیریابی ایمیلها (رکوردهای MX و غیره) ضروری است.