У моєму VPS працює Ubuntu, і я хотів би отримувати електронну пошту до свого домену.
Як мені легко налаштувати поштовий сервер для цього?
У моєму VPS працює Ubuntu, і я хотів би отримувати електронну пошту до свого домену.
Як мені легко налаштувати поштовий сервер для цього?
Відповіді:
Ось так я налаштовував пошту на наші виробничі машини. Це критерії, які нам були потрібні:
По-перше, я хочу розглянути те, що могло б виявитись найпростішим рішенням.
sudo tasksel install mail-server
Проблеми з цим виникли, коли ми спробували це: спочатку він встановлює Dovecot, що добре для більшості, але ми вважали, що кур'єр кращий з двох для наших потреб. По-друге, він використовує Postfix, який чудово, але нам також потрібен Exim, оскільки це більш потужний MTA / SMTP-сервер. По-третє, він встановлює MySQL - в конфігурації, яку я використовую, ми віддаємо перевагу рівним файлам для конфігурації, оскільки це одна менша точка розриву. Подумайте, що трапилося б, якщо MySQL зазнав аварії з незрозумілої причини. В іншому випадку решта пакетів є досить прямим вперед та простий у обслуговуванні для невеликої поштової служби (подумайте, всього 1-2 домену електронної пошти).
Ми трохи відхиляємось від шляху звичайних конфігурацій, але це полегшує управління.
Вся наша пошта зберігається в /var/mail/virtual/<domain>/<user>/mail
відношенні майбутніх прикладів , які я буду використовувати email@example.com
, fwd@example.com
, foo@example.com
щоб представити адресу електронної пошти, форвардер , щоб піти example@gmail.com
і поганий адресу відповідно. У наведеному вище прикладі це було б /var/mail/virtual/example.com/email/mail
.
Я також підтримую список усіх доменів на сервері, /etc/valiases
але докладніше про це пізніше.
Це більш-менш легка частина налаштування. Просто встановіть postfix
пакет.
Встановити Exim за допомогою apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
одного разу після встановлення вам потрібно буде відредагувати конфігурацію за замовчуванням exim, щоб замінити або додати такі значення:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Ці рядки з’являться в різних частинах файлу, замінюючи їх відповідно)
Після завершення відновлення конфігурації exim за допомогою update-exim4.conf
цього завершуються зміни, необхідні для Exim
Встановіть Courier з courier-base
цим необхідно встановити courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
,courier-ssl
Там, чесно кажучи, не так багато конфігурації поза стандартом. Вам просто потрібно буде створити базу даних користувачів.
Exim та Courier перевіряють кілька місць, щоб перевірити, чи вхідні дані або електронна пошта є дійсними. Exim перевіряє, чи домен вказаний як локальне ім'я хоста, чи він у домені, /var/mail/virtual
чи в ньому домен /etc/valiases
.
Врешті-решт я створив кілька інструментів для впорядкування цього процесу, але додавання нового користувача підходить до мети:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
Потім додайте адресу до courier userdb - щоб вони могли увійти
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Обов’язково замініть значення, де це доречно. Також - uid
і gid
повинні бути числові ідентифікатори користувача / групи для користувача пошти.
userdbpw -md5 | userdb email@example.com set systempw
Це дозволить вам ввести пароль, введіть той, який ви хочете використовувати для облікового запису.
makeuserdb
Нарешті, генеруйте хеш-тіні файлів userdb. Перезапустіть кур’єр і протестуйте, чи змінюються ваші зміни:
authtest email@example.com
Слід створити щось подібне
Authentication succeeded.
Authenticated: email@example.com (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
Якщо ви бачите "Підтвердження автентифікації не вдалося: Операція не дозволена" замість цього редагуйте / etc / courier / authdaemonrc та додайте authuserdb до рядка authmodulelist.
Після підтвердження всіх тестів перезапустіть різні сервіси ( courier-authdaemon
, exim4
), відкрийте порти 143, 25, 586, 495, 110 та налаштуйте акаунти у вашому улюбленому поштовому клієнті.
Для кожного домену слід створити файл у /etc/valiases
(створити, якщо його не існує) принаймні з наступного рядка:
*: :fail: No user at this address.
Що це говорить: Якщо вхідна пошта не відповідає жодному обліковому запису електронної пошти, який я маю у файлі, то повідомлення не повинно бути відхиленим та відхилено повідомленням: "Немає користувача за цією адресою". Тому вся пошта, надіслана на те, щоб сказати: foo@example.com
буде відхилена як збій.
Однак у нас є кілька електронних адрес, які ми хочемо зберегти в іншому місці - скажімо, example@gmail.com - для цього нам потрібно створити, /etc/valiases/example.com
а вміст файлу має бути таким:
fwd: example@gmail.com
*: :fail: No user at this address.
Таким чином, незважаючи на те, що fwd@example.com не відповідає жодним обліковим записам електронної пошти на сервері, він збігається у /etc/valiases
файлі, а пошта буде передана на адресу example@gmail.com - Однак foo@example.com все одно не вдасться повідомлення "Немає користувача за цією адресою".
Найпростіший спосіб - бігати sudo tasksel install mail-server
. Це дасть вам сервер електронної пошти із здоровими значеннями за замовчуванням. Все, що вам потрібно зробити - це відповісти на кілька запитань. Очевидно, ви все ще можете робити конфігурації вручну після цього, якщо це необхідно, але в більшості випадків цього не буде. Просто дотримуйтесь вказівок на екрані, і вам слід добре.
Читання по адміністрації служб електронної пошти абсолютно рекомендується.
Офіційні довідки:
sudo tasksel --task-packages mail-server
У мене немає "чудової відповіді", але ви можете виявити ці посилання корисними https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail та https://help.ubuntu.com/community/Postfix
Просто я займаюся цим самим, вам дійсно потрібен постфікс, і в моєму випадку я хотів також сервер Imap, щоб я міг користуватися чудовим клієнтом gui (не згадуючи жодних імен) на іншій машині. Я використав ці документи:
Голуб (іміп і попп)
Насправді це дуже просто, підняв його і запустив за кілька хвилин, і я отримую електронні листи. Це також корисно , щоб перевірити , що все встановлено ки pingability .
О, і вам, звичайно, доведеться правильно встановити записи в dns, як показано нижче (виходячи з налаштувань, які працювали для мене):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
і
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Зверніть увагу на повну зупинку в кінці поштових серверів та вставте свою ip адресу та доменне ім'я, де це доречно.