Dovecot Automatic Restart
If for any reason your Dovecot process is killed, you need to run the following command to restart it.
sudo systemctl restart dovecot
Instead of manually typing this command, we can make Dovecot automatically restart by editing the systemd service unit. To override the default systemd service configuration, we create a separate directory.
sudo mkdir -p /etc/systemd/system/dovecot.service.d/
Then create a file under this directory.
sudo nano /etc/systemd/system/dovecot.service.d/restart.conf
Add the following lines in the file, which will make Dovecot automatically restart 5 seconds after a failure is detected.
Restart=always RestartSec=5s
Save and close the file. Then reload systemd.
sudo systemctl daemon-reload
To check if this would work, kill Dovecot with:
sudo pkill dovecot
Then check Dovecot status. You will find Dovecot automatically restarted.
systemctl status dovecot
Install and Configure OpenDKIM on CentOS 8/RHEL8
Install OpenDKIM from the EPEL (Extra Packages for Enterprise Linux) repository.
sudo dnf install epel-release sudo dnf install opendkim perl-Getopt-Long
Edit OpenDKIM main configuration file.
sudo nano /etc/opendkim.conf
Find the following line.
Mode v
Mode sv
Then find the following lines.
## Specifies whether or not the filter should generate report mail back ## to senders when verification fails and an address for such a purpose ## is provided. See opendkim.conf(5) for details. SendReports yes ## Specifies the sending address to be used on From: headers of outgoing ## failure reports. By default, the e-mail address of the user executing ## the filter is used (). # ReportAddress "Example.com Postmaster" <>
Find the following line and comment it out, because we will use separate keys for each domain name.
KeyFile /etc/opendkim/keys/default.private
Next, find the following 4 lines and uncomment them.
# KeyTable /etc/opendkim/KeyTable # SigningTable refile:/etc/opendkim/SigningTable # ExternalIgnoreList refile:/etc/opendkim/TrustedHosts # InternalHosts refile:/etc/opendkim/TrustedHosts
Save and close the file.
Установка своего сертификата
При установке устанавливается самоподписанный сертификат. Это приведет к лишним сообщениям нарушения безопасности в браузере.
Для начала, получаем сертификат, заверенный доверенным центром сертификации. Его можно купить или получить бесплатно от Let’s Encrypt. Мы рассмотрим последнее подробнее.
Открываем файл:
vi /etc/nginx/sites-enabled/00-default-ssl.conf
… и добавим в секцию server:
server {
…
location ~ /.well-known {
root /usr/share/nginx/html;
allow all;
}
…
}
Перечитаем конфиг nginx:
systemctl restart nginx
Устанавливаем утилиту для получения сертификата:
yum install certbot
И получаем сертификат командой:
* обратите внимание, что в данном примере мы получим сертификат для узла mail.dmosk.ru. Продолжаем выполнение операции:
Продолжаем выполнение операции:
(Y)es/(N)o: Y
Мы должны увидеть подтверждение об успешном получении сертификата:
IMPORTANT NOTES:
— Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live…
Удаляем старые сертификаты:
\rm /etc/pki/tls/private/iRedMail.key
\rm /etc/pki/tls/certs/iRedMail.crt
Создаем переменную с нашим именем узла, на который мы получили сертификат (для удобства):
DOMAIN=mail.dmosk.ru
И создаем симлинки на полученные:
ln -s /etc/letsencrypt/live/$DOMAIN/cert.pem /etc/pki/tls/certs/iRedMail.crt
ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/pki/tls/private/iRedMail.key
* cert.pem и iRedMail.crt — открытые ключи (public); privkey.pem и iRedMail.key — закрытые (private); mail.dmosk.ru — узел, для которого был получен сертификат (его мы задали в переменной DOMAIN)
Обратите внимание, что в нашем примере прописаны пути до сертификатов от Let’s Encrypt — если у вас свои сертификаты, пути должны быть соответствующими
Перезапускаем следующие службы:
systemctl restart iredapd
systemctl restart nginx
Для автоматического продления сертификата создаем в cron задачу:
crontab -e
Добавим:
0 0 * * 1,4 /usr/bin/certbot renew && systemctl restart nginx && systemctl restart iredapd
Test DKIM Key
Enter the following command on your CentOS 8/RHEL 8 server to test your key.
sudo opendkim-testkey -d your-domain.com -s 20200308 -vvv
If everything is OK, you will see the message.
opendkim-testkey: using default configfile /etc/opendkim.conf opendkim-testkey: checking key '20200308._domainkey.linuxbabe.com' opendkim-testkey: key OK
Note that your DKIM record may need sometime to propagate to the Internet. Depending on the domain registrar you use, your DNS record might be propagated instantly, or it might take up to 24 hours to propagate. You can go to https://www.dmarcanalyzer.com/dkim/dkim-check/, enter as the selector and enter your domain name to check DKIM record propagation.
If you see “Key not secure”, don’t panic. This is because DNSSEC isn’t enabled on your domain name. DNSSEC is a security standard for secure DNS query. Most domain names haven’t enabled DNSSEC. You can continue to follow this guide.
Now we can start the opendkim service.
sudo systemctl start opendkim
And enable auto-start at boot time.
sudo systemctl enable opendkim
OpenDKIM listens on .
Generate Private/Public Keypair
Create a separate folder for the domain.
sudo mkdir /etc/opendkim/keys/your-domain.com
Generate keys using tool.
sudo opendkim-genkey -b 2048 -d your-domain.com -D /etc/opendkim/keys/your-domain.com -s 20200308 -v
The above command will create 2048 bits keys. specifies the domain. specifies the directory where the keys will be stored. I use as the DKIM selector. Once the command is executed, the private key will be written to file and the public key will be written to file.
By default, only root can read and write to the key files. Make as the owner of the private key.
sudo chown opendkim:opendkim /etc/opendkim/keys/ -R
Настройка SSL-шифрования
В конфигурационный файл postfix добавляем:
vi /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
Добавляем в master.cf:
vi /etc/postfix/master.cf
smtps inet n — n — — smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Настраиваем требование сертификата:
vi /etc/dovecot/conf.d/10-ssl.conf
ssl = required
Генерируем сертификат:
mkdir -p /etc/ssl/certs
mkdir /etc/ssl/private
cd /usr/share/doc/dovecot-*
vi mkcert.sh
SSLDIR=${SSLDIR-/etc/ssl}
sh mkcert.sh
Перезапускаем postfix и dovecot:
systemctl restart postfix
systemctl restart dovecot
Готово. Аутентификация будет требовать шифрованного подключения по порту 25 (STARTTLS) или 465 (SSL/TLS).
Установка и настройка Dovecot
Dovecot – это свободный IMAP- и POP3-сервер, разработанный с упором на безопасность. Нам он потребуется для того, чтобы подключить авторизацию по протоколу SMTP.
Устанавливаем Dovecot с компонентом для работы с СУБД:
apt-get install dovecot-imapd dovecot-pop3d dovecot-mysql
Настраиваем способ хранения сообщений, для этого откроем файл:
sudo nano /etc/dovecot/conf.d/10-mail.conf
Пропишем в него следующее:
mail_location = maildir:/home/mail/%d/%u/
В данном случае сообщения будут храниться в уже известном нам формате Maildir.
Далее настраиваем слушателя для аутентификации:
sudo nano /etc/dovecot/conf.d/10-master.conf
В файле прописываем:
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail group = vmail } }
На этом примере мы настраиваем сервис для аутентификации и создаем два прослушивателя: /var/spool/postfix/private/auth – для возможности Постфиксом использовать авторизацию через Dovecot, auth-userdb – сокет для авторизации через dovecot-lda.
В этот же файл добавляем:
service stats { unix_listener stats-reader { user = vmail group = vmail mode = 0660 } unix_listener stats-writer { user = vmail group = vmail mode = 0660 } }
Переходим к настройке аутентификации в Dovecot, открываем файл 10-auth.conf:
sudo nano /etc/dovecot/conf.d/10-auth.conf
Задаем в нем следующие значения:
#!include auth-system.conf.ext !include auth-sql.conf.ext
Открываем файл 10-ssl.conf командой vi /etc/dovecot/conf.d/10-ssl.conf и настраиваем в нем использование шифрования:
ssl = required ssl_cert = </etc/ssl/mail/public.pem ssl_key = </etc/ssl/mail/private.key
Рассмотрим параметры:
- ssl = required – прикажет Dovecot требовать от клиентов использование шифрования;
- ssl_cert – путь до открытого сертификата;
- ssl_key – путь к закрытому ключу.
Добавляем автоматическое создания каталогов в файле vi /etc/dovecot/conf.d/15-lda.conf:
lda_mailbox_autocreate = yes
Настраиваем подключение к базе данных. Для начала открываем нужный файл:
sudo nano /etc/dovecot/conf.d/auth-sql.conf.ext
Вставляем в него:
passdb { … args = /etc/dovecot/dovecot-sql.conf.ext } userdb { … args = /etc/dovecot/dovecot-sql.conf.ext }
В этом фрагменте мы указали на файл, в котором будут находиться настройки для получения пользователей и паролей из БД.
Переходим к корректированию файла с настройками работы mySQL:
sudo nano /etc/dovecot/dovecot-sql.conf.ext
В конце файла добавляем:
driver = mysql connect = host=localhost dbname=postfix user=postfix password=postfix123 default_pass_scheme = MD5-CRYPT password_query = SELECT password FROM mailbox WHERE username = '%u' user_query = SELECT maildir, 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u' user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u'
Таким образом, мы смогли настроить запрос на получение данных из БД. Осталось сконфигурировать интерфейс, на котором мы будем слушать Dovecot:
sudo nano /etc/dovecot/dovecot.conf
В этот файл прописываем:
listen = *
По умолчанию Dovecot слушает и на ipv6 (listen = *, ::). Если на сервере не используется 6-я версия протокола TCP/IP, то в логах могут быть ошибки.
Разрешаем запуск Dovecot:
systemctl enable dovecot
Перезагружаемся:
systemctl restart dovecot
Настройка Postfix
Большинство настроек конфигурации Postfix заданы в файле main.cf, который можно найти по адресу /etc/postfix/main.cf. Здесь мы можем пойти следующим образом: изменять параметры непосредственно в самом файле либо воспользоваться командой postconf.
Для настройки Postfix первым делом нам потребуется прописать расположение почты обычного пользователя Ubuntu. В нашем случае мы используем формат Maildir – в нем сообщения выделяются в отдельные файлы, перемещаемые между каталогами. Также вы можете хранить сообщения в формате mbox или любом удобном для вас.
Указываем значение Maildir для переменной home_mailbox. Настроить ее можно с помощью команды:
sudo postconf -e 'home_mailbox= Maildir/'
Прописываем расположение таблицы virtual_alias_maps, где все учетные записи почты сопоставляются с аккаунтами системы Linux. Также активируем еще одну команду, с помощью которой мы сопоставим расположение таблицы с файлом базы данных хэша в /etc/postfix/virtual:
sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Теперь мы можем начать сопоставление учетных записей почты с профилями пользователей в ОС Linux. Для этого создадим файл в nano, вы же можете выбрать любой другой текстовый редактор:
sudo nano /etc/postfix/virtual
Записываем все адреса, для которых мы хотим получать электронную почту, а также прописываем пользователей Ubuntu Postfix, которым будут приходить письма. Для примера возьмем следующую ситуацию: нам нужно получать все письма на адреса excontact@example2.com и exadmin@examlpe2.com и отправлять их пользователю операционной системы Linux с именем UserNameZ7. В таком случае настройка файла будет выглядеть следующим образом:
excontact@example2.com UserNameZ7 exadmin@examlpe2.com UserNameZ7
После успешного ввода данных сохраняемся и выходим из файла. В нашем случае это редактор nano, поэтому зажимаем на клавиатуре комбинацию клавиш «CTRL+X, Y» и жмем «Enter». После этого осуществляем сопоставление строчкой кода:
sudo postmap /etc/postfix/virtual
Затем перезагружаемся командой:
sudo systemctl restart postfix
Если брандмауэр был настроен с помощью UFW, вам потребуется добавить одно исключение. Это связано с тем, что UFW по умолчанию блокирует все внешние подключения к службам сервера. Решить проблему можно одной строчкой кода:
sudo ufw allow Postfix
Готово! Настройка Postfix на Ubuntu 20.04 прошла успешно. Теперь было бы хорошо его протестировать на почтовом клиенте, но сделать этого мы пока не можем. Прежде чем установить почтовый клиент, для начала нам нужно внести некоторые корректировки в параметры сервера Ubuntu.
Требования
Прежде чем переходить к установке программного средства, рекомендуем ознакомиться c необходимыми требованиями. Для реализации рассматриваемой задачи нам потребуется:
- Сервер на Ubuntu 20.04, который будет функционировать в режиме почтовой службы. Требуется, чтобы он включал в себя пользователя без прав root с привилегиями sudo. Вместе с этим также необходим брандмауэр, настроенный с помощью Uncomplicated Firewall (UFW).
- Доменное имя сервера. Если вам потребуется получить доступ к почте из внешнего источника, то нужно также позаботиться об MX-записи, которая будет указывать на почтовый сервер.
Без шифрования
Устанавливаем dovecot.
а) если используем CentOS / Red Hat:
yum install dovecot
б) если используем Ubuntu / Debian:
apt-get install dovecot-imapd dovecot-pop3d
Открываем конфигурационный файл Postfix:
vi /etc/postfix/main.cf
И добавляем:
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
* где smtpd_sasl_path — путь до плагина аутентификации по механизму SASL; smtpd_sasl_auth_enable — разрешает или запрещает аутентификацию по механизму SASL; smtpd_sasl_type — тип плагина, который используется для SASL-аутентификации; smtpd_relay_restrictions — правила разрешения и запрета использования MTA при пересылке.
Открываем настройки аутентификации в dovecot:
vi /etc/dovecot/conf.d/10-master.conf
и приводим опцию service auth к следующему виду:
service auth {
…
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
…
}
* если соответствующей секции unix_listener нет, то ее нужно создать.
Отключаем требование ssl для аутентификации:
vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no
Настройки аутентификации приводим к следующему виду:
vi /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
В этом же файле проверяем, что снят комментарий со следующей строки:
!include auth-system.conf.ext
Перезапускаем сервис Postfix:
systemctl restart postfix
Запускаем Dovecot:
systemctl enable dovecot
systemctl start dovecot
Готово. В качестве логина и пароля необходимо использовать системную учетную запись.
Отключение антивируса и антиспама
Отключить защиту для почты может понадобиться при различных обстоятельствах, например:
- Для диагностики проблем отправки сообщений.
- Экономии ресурсов (антивирус может слишком много потреблять ресурсов).
- При отсутствии необходимости.
И так, для отключения amavis (clam + spamassassin) открываем файл:
vi /etc/amavis/conf.d/50-user
Приводим к следующему виду настройку:
@bypass_virus_checks_maps = (1);
@bypass_spam_checks_maps = (1);
* в данном примере мы сняли комментарий с данных строк (если они были закомментированы) и задаем для них значение 1. Опция bypass_virus_checks_maps отвечает за включение проверки писем на вирусы; bypass_spam_checks_maps — на СПАМ.
Перезапускаем службу amavis:
systemctl restart amavis
После данной настройки письма будут отправляться без проверок. Однако, сервис антивируса будет, по-прежнему, работать.
Останавливаем и отключаем сервис clamd:
systemctl disable clamav-daemon
systemctl stop clamav-daemon
Аналоги iRedMail
Если есть причины, по которым iRedMail не подходит, можно рассмотреть другие варианты:
1. iRedMail Pro. Платная версия настроенного в данной инструкции программного обеспечения. Обладает расширенными настройками и возможностями.
2. Ручная сборка компонентов для почтового сервера. Пример данной настройки описан в статье Почтовый сервер Postfix на CentOS 7 с виртуальными доменами, системой управления, веб-доступом и многим другим.
3. Microsoft Exchange Server (на Windows). Платный сервер, работает в среде Active Directory.
4. Zimbra (на Linux). Готовая сборка. Есть платная и бесплатная версии. Пример установки и настройки в инструкции Установка и настройка Zimbra на Linux.
Using Dovecot to Deliver Email to Message Store
Edit the Dovecot main configuration file.
sudo nano /etc/dovecot/dovecot.conf
Add to the supported protocols.
protocols = imap lmtp
Save and close the file. Then edit the Dovecot 10-master.conf file.
sudo nano /etc/dovecot/conf.d/10-master.conf
Change the lmtp service definition to the following.
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } }
Save and close the file. Next, edit the Postfix main configuration file.
sudo nano /etc/postfix/main.cf
mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no
Save and close the file.
Загрузка через операционную систему Windows
Запускаем. Откроется окно, куда необходимо ввести параметры подключения по протоколу SSH.
Слева вы увидите папки и файлы локальной машины, справа — файлы рабочего сервера, к которому подключились. Следует выбрать (либо создать, если такового нет) место, куда отправятся сертификаты. Используя функцию drag-n-drop, зажав левую клавишу мышки, переносите файлы .CA и .CRT.
Важно: удобнее будет сохранить .key в том же месте, где уже лежат файлы сертификатов. Это необязательно, но тогда вам придется запоминать расположение этого файла и указывать этот путь при конфигурации Apache, а не путь с нашего примера
Чтобы сделать копию .key и отправить в иную директорию, в случае генерации закрытого ключа на сервере, можно воспользоваться командой:
При этом:
cp — отвечает за копирование;/home/root/ — путь к файлу, если вы зашли «под рутом»;private.key — имя файла самого ключа;/etc/ssl/private.key — путь, куда мы хотим скопировать ключ.
Можно воспользоваться командой и удалить ключ в старой директории:
1. Настройка аутентификации на Postfix
Аутентификация на postfix будет выполняться методом dovecot. Для этого устанавливаем его. Заодно, устанавливаем и postfix (на случай, если его нет еще в системе). В зависимости от используемой операционной системы используем разные команды.
а) если используем Ubuntu / Debian:
apt-get update
apt-get install postfix dovecot-imapd dovecot-pop3d
б) если используем CentOS / Red Hat:
yum install postfix dovecot
После установки пакетов, разрешаем автозапуск dovecot и postfix:
systemctl enable postfix dovecot
Открываем на редактирование конфигурационный файл нашего MTA Postfix:
vi /etc/postfix/main.cf
Добавляем строки (или меняем значения):
YAML
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
1 |
smtpd_sasl_type=dovecot permit_mynetworks permit_sasl_authenticated reject_unauth_destination |
* где:
- smtpd_sasl_type — тип плагина, который используется для SASL-аутентификации. Командой postconf -a мы можем получить список механизмов аутентификации, которые поддерживаются почтовой системой.
- smtpd_sasl_auth_enable — разрешает или запрещает аутентификацию по механизму SASL.
- smtpd_sasl_path — путь до файла для обмена аутентификационной информацией. Используется для взаимодействия нескольких систем — в нашем примере Postfix + Dovecot.
-
smtpd_relay_restrictions — правила разрешения и запрета использования MTA при пересылке. В нашем случае:
- permit_mynetworks — разрешить отправку с компьютеров, чьи IP-адреса соответствуют настройке mynetworks.
- permit_sasl_authenticated — разрешить отправку писем тем, кто прошел авторизацию.
- reject_unauth_destination — запретить всем, кто не прошел проверку подлинности.
Проверяем корректность настройки:
postconf > /dev/null
Если команда не вернула ошибок, перезапускаем Postfix:
systemctl restart postfix
Переходим к настройке dovecot — открываем файл:
vi /etc/dovecot/conf.d/10-master.conf
… и приводим опцию service auth к следующему виду:
YAML
service auth {
…
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
…
}
1 |
serviceauth{ … unix_listener/var/spool/postfix/private/auth{ mode=0660 user=postfix group=postfix } … } |
* если соответствующей секции unix_listener нет, то ее нужно создать. Обратите внимание, что для обмена аутентификационными данными мы применяем файл /var/spool/postfix/private/auth, который в конфигурационном файле postfix был указан, как private/auth.
Отключаем требование ssl для аутентификации (на текущем этапе нам это не нужно):
vi /etc/dovecot/conf.d/10-ssl.conf
Проверяем, чтобы значение ssl не было required:
ssl = yes
* нас устроит оба варианта — yes или no.
Настройки аутентификации приводим к следующему виду:
vi /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
* данные механизмы позволяют передачу данных в открытом виде.
В этом же файле проверяем, что снят комментарий со следующей строки:
!include auth-system.conf.ext
Проверяем корректность настройки dovecot:
doveconf > /dev/null
Если команда ничего не вернула, перезапускаем сервис:
systemctl restart dovecot
В качестве логина и пароля можно использовать любую системную учетную запись. Создадим ее для теста:
useradd smtptest
passwd smtptest
Мы настроили простую аутентификацию на сервере SMTP. Для проверки можно воспользоваться любым почтовым клиентом. Пример настройки thunderbird:
Пробуем отправить письмо. Отправка должна потребовать ввода логина и пароль — используем аутентификационные данные для записи, созданной выше.
Мы завершили настройку аутнтификации на postfix при отправке письма. Добавим проверку данных через LDAP.
Troubleshooting Tips
Can’t login from Mail Clients
If you can’t log into your mail server from a desktop mail client, scan your mail server to find if the ports (TCP 587, 465, 143, and 993) are open. Note that you should run the following command from another Linux computer or server. If you run it on your mail server, then the ports will always appear to be open.
sudo nmap mail.your-domain.com
And check if Dovecot is running.
systemctl status dovecot
sudo journalctl -eu dovecot
For example, some folks may have the following error in the journal.
doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 78: Unknown setting
Most of the time, it’s a simple syntax error, like a missing curly bracket. Open the configuration file, go to the specified line and fix the error.
Cloudflare DNS
As I said in part 1, if you use Cloudflare DNS service, you should not enable the CDN (proxy) feature when creating DNS A record and AAAA record for the hostname of your mail server. Cloudflare doesn’t support SMTP or IMAP proxy.
Relay Access Denied
NOQUEUE: reject: RCPT from mail-il1-f180.google.com: 454 4.7.1 <>: Relay access denied; from=<> to=<> proto=ESMTP helo=<mail-il1-f180.google.com>
You can display the current value of with:
postconf mydestination
Some folks might not have the main domain name in the list like so:
mydestination = $myhostname, localhost.$mydomain, localhost
Then run the following command to add the main domain name to the list.
sudo postconf -e "mydestination = yourdomain.com, \$myhostname, localhost.\$mydomain, localhost"
Reload Postfix for the changes to take effect.
sudo systemctl reload postfix
User Doesn’t Exist
mail postfix/lmtp: 68E00FC1A5: to=, relay=mail.example.com[private/dovecot-lmtp], delay=509, delays=509/0.03/0.03/0.02, dsn=5.1.1, status=bounced (host mail.example.com[private/dovecot-lmtp] said: 550 5.1.1 User doesn't exist: (in reply to RCPT TO command))
iOS Mail App
If you use the iOS Mail app to log into your mail server and encounter the following error.
You can try to fix it by enforcing SSL encryption, for both SMTP and IMAP.
Fun fact: It seems the iOS Mail app has difficulty in supporting STARTTLS on IMAP port 143, but it supports STARTTLS on the submission port 587.
Unable to Receive Email From Gmail, Hotmail, Yahoo Mail, etc
- Your MX record is wrong, or not propagated to the Internet yet.
- Your mail server hostname doesn’t have DNS A record, or not propagated to the Internet yet.
- Your firewall doesn’t allow incoming connection to port 25. Maybe your mail server is behind a NAT?
- Postfix isn’t listening on the public IP address.
- Check the mail log () to find out if there are other errors in your Postfix and Dovecot configuration.
Сбросить пароль
В бесплатной версии iredmail сброс паролей выполняется напрямую в СУБД или каталоге LDAP. Подробнее процедура описана на официальном сайте. Мы же рассмотрим пример работы с базой MySQL.
Создаем хэш для пароля:
doveadm pw -s ‘ssha512’
Система попросит нас ввести дважды пароль — вводим тот, что хотим использовать. В итоге, мы получим хэш, например:
{SSHA512}53iNTXnhUNMXmhKOEARf38tD1I/xbafuQ3HIrQxCnI0Pxj0Ikp87rxnFE2bTEEEQHquU7+w9nwGlmTNqjqIHEqKgJhw=
Подключаемся к базе:
mysql -p
Выбираем базу:
> USE vmail
Смотрим пользователей:
> select username, isadmin, isglobaladmin from mailbox;
Сбрасываем пароль для пользователя с правами администратора, например:
* в нашем примере, для postmaster@dmosk.ru.