Установка и настройка постфикса
Я рекомендую использовать пользователя без полномочий root, в этом руководстве я буду использовать имя пользователя grok.
Давайте удостоверимся, что мы обновляем индекс пакета. Откройте терминал и дайте следующую команду:
sudo apt-get update
Postfix находится в официальных репозиториях Ubuntu, поэтому давайте установим его, используя системную переменную DEBIAN_PRIORITY = low, чтобы также установить дополнительные пакеты:
sudo DEBIAN_PRIORITY=low apt-get install postfix
Это информация, которую вы будете запрашивать во время установки:
- Общий тип конфигурации почты ?: Интернет-сайт
- Имя системной почты: example.com (не вводите mail.example.com)
- Получатель почты root и postmaster: grok
- Другие направления для приема почты: $ myhostname, example.com, mail.example.com, localhost.example.com, localhost
- Принудительно синхронизировать обновления в почтовой очереди?: Нет
- Локальные сети: 127.0.0.0/8[::ffff:127.0.0.0zegovina/104[::1]/128
- Ограничение размера почтового ящика: 0
- Символ расширения локального адреса: +
- Используемые интернет-протоколы: все
Если вам нужно повторно ввести эту информацию, а затем перенастроить постфикс, введите эту команду:
sudo dpkg-reconfigure postfix
Мы устанавливаем переменную home_mailbox в Maildir/, которая создаст структуру файлов и папок в домашнем каталоге используемого пользователя:
sudo postconf -e 'home_mailbox= Maildir/'
Затем мы устанавливаем позицию таблицы virtual_alias _maps. Эта таблица обрабатывает учетные записи электронной почты. Создаем его в /etc/postfix/virtual. Мы используем эту команду:
sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Откроем файл:
sudo nano /etc/postfix/virtual
Например, если вы хотите принимать электронные письма с адресов [email protected] и [email protected] и хотите, чтобы они доходили до пользователя grok, напишите в файле следующее:
[email protected] grok
[email protected] grok
Сохраните и закройте файл:
Применим изменения следующим образом:
sudo postmap /etc/postfix/virtual
Перезапускаем постфикс:
sudo systemctl restart postfix
Если у вас включен брандмауэр, введите эту команду:
sudo ufw allow Postfix
Чтобы убедиться, что переменные установлены правильно, чтобы разрешить использование различных типов доступа к учетной записи (ssh, su, sudo и т. д.), нам нужно установить переменные в разных файлах. Из терминала дайте эту команду:
echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Чтобы выполнить переменные в текущем сеансе, введите эту команду:
source /etc/profile.d/mail.sh
Установка почтового клиента S-Nail
S-Nail — это пакет, который по умолчанию присутствует в Ubuntu для правильного управления форматом Maildir. Чтобы установить его, дайте эту команду:
sudo apt-get install s-nail
Откроем конфигурационный файл s-nail:
sudo nano /etc/s-nail.rc
Добавьте эти строки в конец файла:
set emptystart
set folder=Maildir
set record=+sent
Сохраните и закройте файл.
Давайте протестируем клиент
Мы отправляем электронное письмо себе, чтобы протестировать клиент и создать структуру Maildir у себя дома. Из терминала:
echo 'init' | mail -s 'init' -Snorecord grok
Вы должны получить ответ, подобный этому:
Can't canonicalize "/home/grok/Maildir"
Вы увидите этот ответ только после первого сообщения, это нормально. Теперь мы можем проверить, правильно ли сгенерирована структура внутри Maildir:
ls -R ~/Maildir
Вы должны получить ответ, подобный этому:
/home/grok/Maildir/:
cur new tmp
/home/grok/Maildir/cur:
/home/grok/Maildir/new:
23452345.IAUas876sdAS76D.mail.esempio.com
/home/grok/Maildir/tmp:
It looks like our mail has
been delivered.
Мы управляем электронной почтой с Клиентом
Чтобы проверить нашу электронную почту, из терминала напишите:
mail
Вы должны увидеть полученное письмо:
s-nail version v14.xx Type ? for help.
"/home/grok/Maildir": 1 message 1 new
N 1 [email protected] Wed June 20 19:00 14/369
init
Нажмите ENTER, чтобы прочитать письмо
[-- Message 1 -- 14 lines, 369 bytes --]:
From [email protected] Wed June 20 19:00:00 1969
Date: 11 May 2017 15:05:22 -0400
To: [email protected]
Subject: init
Message-Id: [email protected]
From: [email protected]
init
Чтобы вернуться, нажмите h, затем введите, чтобы выйти, q.
Мы можем протестировать отправку писем, написав текст в текстовом редакторе. Из терминала:
nano ~/messaggio
Ciao,
Email di prova, file di testo!
Из терминала:
cat ~/messaggio | mail -s 'Oggetto dell'email' -r from_field_account [email protected]
Варианты:
- -s: Тема письма.
- -r: Необязательно, вы можете изменить поле From. По умолчанию будет использоваться имя пользователя, под которым вы вошли. Параметр -r позволяет переопределить значение по умолчанию.
- [email protected]: адрес электронной почты, на который следует отправить электронное письмо.
Чтобы просмотреть отправленные сообщения, с терминала:
file +sent
Установка завершена.