У моєму 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 адресу та доменне ім'я, де це доречно.