Postfix версии 2.6.6, Dovecot версии 2.0.9
Я хочу установить Postfix + Dovecot. Dovecot вроде работает. Я могу пройти аутентификацию. Однако почтовый ящик пуст! Ничего не доставят! Я следил за многими руководствами по Postfix + Dovecot, но они, похоже, хотят усложнить ситуацию, используя Dovecot LDA или MySQL. Я просто хочу, чтобы это было очень просто, и доставка Postfix в виртуальные почтовые ящики - это нормально. MySQL мне тоже не нужен. Я уже настроил собственный файл паролей, который Dovecot использует для аутентификации, и я могу войти в POP3 с помощью SSL.
Я вижу из журналов, что Postfix отправляет учетным записям пользователей системы (всеохватывающее), а не виртуальным пользователям, которых я создал в Dovecot. Аутентификация SMTP + SSL, похоже, тоже работает.
Я также вижу из журналов, что Dovecot проверяет правильную виртуальную почтовую папку.
Мне просто нужно выяснить, как заставить Postfix доставлять сообщения в виртуальные почтовые ящики. У меня есть следующие, которые я считаю актуальными. Сообщите мне, какие еще настройки вам нужно увидеть:
alias_maps = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = xxx.com
myhostname = mail.xxx.com
mynetworks = 99.99.99.99, 99.99.99.99
myorigin = $mydomain
relay_domains = $mydestination, xxx.com, domain2.net, domain3.com
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = reject_non_fqdn_sender reject_non_fqdn_recipient reject_unknown_recipient_domain permit_sasl_authenticated check_relay_domains
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = check_sender_mx_access cidr:/etc/postfix/bogus_mx reject_invalid_hostname reject_unknown_sender_domain reject_non_fqdn_sender
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_domains = xxx.com, domain2.net, domain3.com
virtual_minimum_uid = 444
Postfix master.cf:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
Dovecot связанные:
mail_location = maildir:~/Maildir
passdb {
args = /etc/dovecot/users.conf
driver = passwd-file
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
}
}
Пользователь виртуальной почты:
vmail:x:444:99:virtual mail users:/var/spool/vmail:/sbin/nologin
Вот / var / log / maillog, когда я пытаюсь отправить что-то себе:
Oct 25 22:10:05 308321 postfix/smtpd[2200]: connect from user-999.cable.mindspring.com[99.99.99.99]
Oct 25 22:10:05 308321 postfix/smtpd[2200]: D224BD4753: client=user-999.cable.mindspring.com[99.99.99.99], sasl_method=LOGIN, sasl_username=info@xxx.com
Oct 25 22:10:06 308321 postfix/cleanup[2207]: D224BD4753: message-id=<7DC3C163CFFC483AB6226F8D3D9969D2@dumbopc>
Oct 25 22:10:06 308321 postfix/qmgr[2168]: D224BD4753: from=<info@xxx.com>, size=1385, nrcpt=1 (queue active)
Oct 25 22:10:06 308321 postfix/smtpd[2200]: disconnect from user-999.cable.mindspring.com[99.99.99.99]
Oct 25 22:10:06 308321 postfix/local[2208]: D224BD4753: to=<systemuser@xxx.com>, orig_to=<info@xxx.com>, relay=local, delay=1.1, delays=0.53/0.02/0/0.51, dsn=2.0.0, status=sent (delivered to mailbox)
Oct 25 22:10:06 308321 postfix/qmgr[2168]: D224BD4753: removed
Кажется, что вы определили только виртуальные домены, для которых принимать почту. Вам также необходимо определить учетные записи.
Сделайте это с помощью директивы virtual_mailbox_maps в main.cf
Об этом подробнее здесь: http://www.postfix.org/postconf.5.html#virtual_mailbox_maps