Postfix یک عامل انتقال ایمیل (MTA) است ، برنامه ای که برای ارسال و دریافت ایمیل استفاده می شود. می توان آن را پیکربندی کرد تا برای ارسال ایمیل فقط با برنامه محلی استفاده نمود. این در شرایطی مفید است که باید به طور مرتب اعلان های ایمیل را از برنامه های خود ارسال کنید یا صرفا ترافیک خروجی زیادی دارید که ارائه دهنده خدمات ایمیل شخص ثالث اجازه نمی دهد. همچنین ضمن حفظ قابلیت های مورد نیاز ، گزینه جایگزین سبک تری برای اجرای یک سرور مجازی SMTP تمام عیار میباشد.
در این آموزش Postfix را به عنوان سرور مجازی SMTP send-onlyنصب و پیکربندی می کنید. همچنین گواهی TLS رایگان را از Let’s Encrypt برای دامنه خود و رمزگذاری ایمیل های خروجی با استفاده از آنها درخواست میدهید.
پیش نیازها
• یک سرور مجازی Ubuntu 20.04 که طبق راهنمای ستاپ اولیه سرور مجازی با اوبونتو 20.04 تنظیم شده باشد ، شامل ایجاد کاربر sudo غیر ریشه.
• نام دامنه کاملاً ثبت شده. در سراسر این آموزش از your_domain استفاده خواهد شد. می توانید نام دامنه را در Namecheap خریداری کنید ، به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید.
• رکورد A DNS با your_domain که به آدرس IP عمومی سرور مجازی شما اشاره کند. برای جزئیات بیشتر در مورد چگونگی اضافه کردن آنها می توانید این مقدمه را در DigitalOcean DNS دنبال کنید.
می توانید با تایپ hostname  در خط فرمان ، نام میزبان سرور مجازی را تأیید کنید. خروجی باید با نامی که به دراپلت داده اید مطابقت داشته باشد.
مرحله 1 – نصب Postfix
در این مرحله Postfix را نصب خواهید کرد. سریعترین راه نصب بسته mailutils  است که Postfix را با چند برنامه تکمیلی که برای تست ارسال ایمیل استفاده می کنید ، تنظیم می کند.
ابتدا بانک اطلاعاتی بسته را به روز کنید:
⦁ $ sudo apt update

سپس با اجرای دستور زیر Postfix را نصب کنید:
⦁ $ sudo apt install mailutils

نزدیک پایان مراحل نصب ، پنجره پیکربندی Postfix به شما ارائه می شود:

گزینه پیش فرض Internet Site است. این گزینه پیشنهادی برای مورد استفاده شما است ، بنابراین TAB و سپس ENTER را فشار دهید. اگر فقط متن توضیحات را می بینید ، TAB را فشار دهید تا OK را انتخاب کنید ، سپس ENTER را بزنید.
اگر به صورت خودکار نمایش داده نمی شود ، دستور زیر را اجرا کنید تا آن را شروع کنید:
⦁ $ sudo dpkg-reconfigure postfix

پس از آن ، اعلان پیکربندی دیگری در رابطه با System mail name دریافت می کنید:

System mail name باید به همان نامی باشد که هنگام ایجاد سرور مجازی خود به آن اختصاص داده اید. پس از اتمام ، TAB را فشار دهید ، و ENTER را بزنید.
اکنون Postfix را نصب کرده اید و آماده پیکربندی آن هستید.
مرحله 2 – پیکربندی Postfix
در این مرحله ، Postfix را پیکربندی می کنید تا فقط از سرور مجازی  که در آن کار می کند – یعنی از localhost ، ایمیل بفرستد و دریافت کند.
برای این کار ، Postfix باید به گونه ای پیکربندی شود که فقط به رابط حلقه برگشت گوش دهد ، یعنی رابط شبکه مجازی که سرور مجازی برای برقراری ارتباط داخلی استفاده میکند. برای ایجاد تغییرات ، باید فایل اصلی پیکربندی Postfix به نام main.cf را ​​ویرایش کنید ، که تحت etc / postfix ذخیره شده است.
با استفاده از ویرایشگر متن مورد علاقه خود ، آن را برای ویرایش باز کنید:
⦁ $ sudo nano /etc/postfix/main.cf

سطرهای زیر را پیدا کنید:
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

مقدار تنظیمات inet_interfaces را روی loopback-onlyتنظیم کنید:
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

دستور العمل دیگری که باید اصلاح کنید ، mydestination است که برای مشخص کردن لیست دامنه هایی که از طریق انتقال تحویل ایمیل local_transport ارائه می شوند ، استفاده می گردد. به طور پیش فرض ، مقادیر مشابه این است:
/etc/postfix/main.cf
. . .
mydestination = $myhostname, your_domain, localhost.com, , localhost
. . .

خط را تغییر دهید تا مانند این باشد:
/etc/postfix/main.cf
. . .
mydestination = localhost.$mydomain, localhost, $myhostname
. . .

اگر دامنه شما در واقع یک دامنه فرعی است و می خواهید پیام های ایمیل به گونه ای به نظر برسد که از دامنه اصلی ارسال شده اند ، می توانید خط زیر را به انتهای main.cf اضافه کنید:
/etc/postfix/main.cf

masquerade_domains = your_main_domain

تنظیمات اختیاری maskquerade_domains مشخص می کند که برای کدام دامنه ها، قسمت های فرعی باید در آدرس ایمیل حذف شوند.
وقتی کارتان تمام شد ، فایل را ذخیره کنید و ببندید.
توجه: اگر میزبان چندین دامنه در یک سرور مجازی واحد هستید ، سایر دامنه ها نیز می توانند با استفاده از دستورالعمل mydestination به Postfix منتقل شوند.

سپس با اجرای دستور زیر Postfix را ریستارت کنید:
⦁ $ sudo systemctl restart postfix

Postfix را پیکربندی کرده اید تا فقط از سرور مجازی شما ایمیل ارسال کند. اکنون با ارسال یک پیام نمونه به آدرس ایمیل ، آن را آزمایش خواهید کرد.
مرحله 3 – تست سرور مجازی SMTP
در این مرحله ، تست خواهید کرد که آیا Postfix می تواند با استفاده از دستور mail ، که بخشی از بسته mailutils است که در مرحله اول نصب کرده اید ، ایمیل را به یک حساب ایمیل خارجی ارسال کند.
برای ارسال ایمیل تستی ، دستور زیر را اجرا کنید:
⦁ $ echo “This is the body of the email” | mail -s “This is the subject line” your_email_address

می توانید بدنه و موضوع ایمیل را به دلخواه خود تغییر دهید. به یاد داشته باشید که your_email_address را با آدرس ایمیل معتبری که می توانید به آن دسترسی پیدا کنید ، جایگزین کنید.
اکنون آدرس ایمیلی را که برای این پیام ارسال کرده اید ، بررسی کنید. باید پیام را در صندوق ورودی خود ببینید. اگر در آنجا نباشد ، پوشه اسپم خود را بررسی کنید. در این مرحله ، تمام ایمیل هایی که می فرستید غیرقابل رمزگذاری هستند ، که باعث می شود ارائه دهندگان خدمات فکر کنند که این ایمیل احتمالاً اسپم است. رمزگذاری را بعداً در مرحله 5 انجام خواهید داد.
اگر خطایی از فرمان mail دریافت کرده اید ، یا پس از مدت طولانی پیامی دریافت نکرده اید ، بررسی کنید که پیکربندی Postfix که ویرایش کردید معتبر است و نام سرور مجازی و نام هاست روی دامنه شما تنظیم شده باشند.
توجه داشته باشید که با این پیکربندی ، آدرس در قسمت From برای ایمیلهای آزمایشی که ارسال می کنید به شکل your_user_name @ your_domain خواهد بود ، که your_user_name نام کاربری کاربر سرور مجازی است که دستور را با آن اجرا کردید.
اکنون ایمیلی از سرور مجازی خود ارسال کرده اید و تأیید کرده اید که با موفقیت دریافت شده است. در مرحله بعدی ، فوروارد کردن ایمیل برای root را تنظیم می کنید.
مرحله 4 – سیستم فوروارد ایمیل
در این مرحله ، فوروارد ایمیل را برای کاربر root تنظیم می کنید ، بنابراین پیام های ایجاد شده در سیستم که روی سرور مجازی شما به آن ارسال میشود به یک آدرس ایمیل خارجی فوروارد می شوند.
فایل / etc / aliases شامل لیستی از نام های جایگزین برای گیرندگان ایمیل است. آن را برای ویرایش باز کنید:
⦁ $ sudo nano /etc/aliases

در حالت پیش فرض ، اینگونه خواهد بود:
/etc/aliases
# See man 5 aliases for format
postmaster: root

تنها دستورالعمل حاضر مشخص می کند که ایمیل های تولید شده توسط سیستم به root ارسال می شوند.
خط زیر را به انتهای فایل اضافه کنید:
/etc/aliases

root: your_email_address

با این خط ، مشخص می کنید که ایمیل های ارسالی برای root ارسال می شوند به یک آدرس ایمیل فوروارد شوند. به یاد داشته باشید که your_email_address را با آدرس ایمیل شخصی خود جایگزین کنید. وقتی کارتان تمام شد ، فایل را ذخیره کنید و ببندید.
برای اعمال اثر ، دستور زیر را اجرا کنید:
⦁ $ sudo newaliases

اجرای newaliases ، یک پایگاه داده از نامهای مستعار میسازد که فرمان mail از آن استفاده می کند ، و از فایل پیکربندی که اخیراً ویرایش کرده اید گرفته شده است.
با اجرای دستور زیر ارسال ایمیل به root را آزمایش کنید:
⦁ $ echo “This is the body of the email” | mail -s “This is the subject line” root

باید ایمیل را در آدرس ایمیل خود دریافت کنید. اگر در آنجا نبود ، پوشه اسپم خود را بررسی کنید.
در این مرحله ، پیام های ایجاد شده توسط سیستم را به آدرس ایمیل خود فوروارد کرده اید. اکنون رمزگذاری پیام را فعال خواهید کرد ، به گونه ای که تمام ایمیلهایی که سرور مجازی شما ارسال می کند در برابر دستکاری در انتقال مصون باشند و به صورت قانونی تر بررسی شوند.
مرحله 5 – فعال کردن رمزگذاری SMTP
اکنون با درخواست یک گواهی TLS رایگان از Let’s Encrypt برای دامنه خود (با استفاده از Certbot) و پیکربندی Postfix برای استفاده در هنگام ارسال پیام ، رمزگذاری SMTP را فعال می کنید.
اوبونتو شامل Certbot در مخزن بسته پیش فرض خود میباشد ، اما ممکن است به روز نباشد. در عوض ، با اجرای دستور زیر مخزن رسمی را اضافه خواهید کرد:
⦁ $ sudo apt install certbot


وقتی از شما خواسته شد که تایید کنید ، ENTER را فشار دهید. سپس حافظه نهان پکیج منیجر سرور مجازی خود را به روز کنید:
به عنوان بخشی از ستاپ اولیه سرور مجازی در پیش نیازها ، ufw ، فایروال کامپایل نشده را نصب کردید. برای اجازه دادن به پورت HTTP 80 ، باید آن را پیکربندی کنید ، تا تأیید صحت دامنه انجام شود. دستور زیر را برای فعال کردن آن اجرا کنید:
⦁ $ sudo ufw allow 80

خروجی به شرح زیر خواهد بود:
Output
Rule added
Rule added (v6)

اکنون که پورت باز است ، Certbot را اجرا کنید تا مجوز را دریافت کنید:
⦁ $ sudo certbot certonly –standalone –rsa-key-size 4096 –agree-tos –preferred-challenges http -d your_domain

این دستور به Certbot میگوید گواهینامه هایی با کلید RSA و اندازه4096 بیت ، برای اجرای یک وب سرور مجازی مستقل موقت (–standalone) برای تأیید، و بررسی از طریق پورت 80 (–preferred-challenges http) صادر کند. به یاد داشته باشید که قبل از اجرای دستور ، your_domain را با دامنه خود جایگزین کنید و در صورت درخواست آدرس ایمیل خود را وارد کنید.
خروجی مشابه این خواهد بود:
Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for `your_domain`
Waiting for verification…
Cleaning up challenges

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your cert will expire on 2020-07-11. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
“certbot renew”
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

همانطور که در یادداشت ها نوشته شده ، گواهینامه و فایل کلید خصوصی شما تحت / etc / letsencrypt / live / your_domain ذخیره شده اند.
اکنون که گواهینامه خود را دارید ،main.cf را ​​برای ویرایش باز کنید:
⦁ $ sudo nano /etc/postfix/main.cf

بخش زیر را پیدا کنید:
/etc/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

آن را اصلاح کنید تا اینگونه به نظر برسد، هر جا نیاز بود، your_domain را با دامنه خود جایگزین کنید تا تنظیمات TLS برای Postfix به روز شود:
/etc/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/your_domain/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/your_domain/privkey.pem
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

پس از اتمام کار ، فایل را ذخیره کنید و ببندید.
با راه اندازی مجدد Postfix ، تغییرات را اعمال کنید:
⦁ $ sudo systemctl restart postfix

اکنون ، دوباره ایمیل بفرستید:
⦁ $ echo “This is the body of an encrypted email” | mail -s “This is the subject line” your_email_address

سپس ، آدرس ایمیل ارائه شده را بررسی کنید. این امکان وجود دارد که فوراً پیام را در صندوق ورودی خود مشاهده کنید ، زیرا ارائه دهندگان ایمیل احتمالاً پیام های بدون رمزگذاری را به عنوان اسپم علامت گذاری می کنند.
می توانید اطلاعات فنی مربوط به پیام ایمیل را در کلاینت خود بررسی کنید تا ببینید که این پیام در واقع رمزگذاری شده است.
نتیجه
اکنون یک سرور مجازی ایمیل صرفا ارسال کننده دارید ، که با Postfix تقویت می شود. رمزگذاری همه پیام های خروجی اولین قدم درست است تا ارائه دهندگان ایمیل پیام های شما را به صورت اسپم علامت گذاری نکنند. اگر این کار را در یک فرآیند توسعه انجام می دهید ، این اقدام کافی خواهد بود.
اما اگر مورد استفاده شما ارسال ایمیل به کاربران بالقوه سایت است (مانند ایمیل تأیید برای ثبت نام) ، باید به دنبال تنظیم سوابق SPF باشید ، تا ایمیل های سرور مجازیشما با احتمال بیشتری به صورت قانونی در نظر گرفته شوند.

 

 

نحوه تنظیم برنامه Node.js برای تولید در اوبونتو 20.04

نحوه نصب وردپرس در اوبونتو 20.04 با پشته LAMP

نصب و پیکربندی Postfix به عنوان سرور SMTP به صورت Send-Only در اوبونتو 20.04

نحوه ایجاد یک گواهی SSL خود-امضا شده برای Apache در اوبونتو 20.04

نحوه متمرکز کردن ورود ها با Journald در اوبونتو 20.04

نحوه ایمن کردن Apache با Let’s Encrypt در Debian 9

نحوه نصب و ایمن سازی phpMyAdmin در Debian 9

نصب و پیکربندی Postfix به عنوان سرور SMTP به صورت Send-Only در Debian 9

نحوه نصب و پیکربندی Nextcloud در Debian 901

نحوه تنظیم Jupyter Notebook با پایتون 3 در Debian 9

 

 

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 

 

 

برچسب‌ها:, ,