Portál AbcLinuxu, 10. května 2025 17:08
Zdravim. Zacal jsem s migraci dat a sluzeb na novy zelezo s cistym systemem a mam docela problem s postou.
Pouzivam debian squeeze s aktualnima balikama postfixu, dovecotu a mysqld.
Nyni k problemu: Udaje o schrankach a domenach mam v mysql, abych si je moh administrovat pres postfixamina. Odesilani posty ze schranek bezi bez problemu. Pokud mi ale pride posta na nejakou z danejch schranek, spadne mi client (thunderbird). Koukal jsem se, co se s postou deje a vypozoroval sem nasledujici:
priklad:
1277032543.Vfd00I3c1978M530835.mydomain:2,
ale melo by to vypadat takto:
1277032543.Vfd00I3c1978M530835.mydomain:2, S
Pokud si rucne dopisu do nazvu soboru flag nakonec, client nepada a vidim v nem novou zpravu.
Presne ten samej problem jsem resil uz pred rokem, bohuzel sem si nezaznamenal cim to bylo :/
Jinak pouzivam stejny konfiguracni soubory jako na starym serveru a data mam s identickyma pravama rsyncnuty na ten novej server. Uzivatele jsem taky zkopiroval. Je teda dost dobre mozny, ze jsem vynechal nejaky nastaveni mimo /etc/dovecot a /etc/postfix.
Pokud nekdo vidite nekde chybu nebo Vas neco napada, budu vdecny za kazdou reakci, komentar a predevsim pomoc. Diky
Konfiguracni soubory:
/etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:8
virtual_mailbox_base = /data/mail/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1001
virtual_transport = virtual
virtual_uid_maps = static:1001
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_authenticated_header = yes
#smtpd_sasl_security_options = noanonymous
#smtpd_sasl_local_domain = $myhostname
#broken_sasl_auth_clients = yes
/etc/postfix/mysql/mysql_virtual_alias_maps.cf
user = postfix
password = myPass
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
/etc/postfix/mysql/mysql_virtual_domains_maps.cf
user = postfix
password = myPass
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
user = postfix
password = myPass
hosts = localhost
dbname = postfix
table = mailbox
select_field = concat(domain, '/', maildir)
#select_field = maildir
where_field = username
/etc/dovecot/dovecot.conf
protocols = imap imaps
protocol imap {
}
disable_plaintext_auth = no
log_path = /data/dovecot
log_timestamp = "%Y-%m-%d %H:%M:%S "
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
ssl_cipher_list = ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
mail_location = maildir:/data/mail/vmail/%d/%u
mail_privileged_group = mail
mail_access_groups = mail
first_valid_uid = 1001
first_valid_gid = 8
auth default {
mechanisms = plain
# mechanisms = digest-md5 plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = root
socket listen {
client {
path = /var/spool/postfix/private/dovecot-auth
mode = 0660
user = postfix
group = postfix
}
}
}
/etc/dovecot/dovecot-sql.conf
driver = mysql
connect = dbname=postfix user=postfix host=localhost password=myPass
#default_pass_scheme = PLAIN
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1001 AS uid, 8 AS gid FROM mailbox WHERE username = '%u'
protocol pop3 {} protocol pop3 {}Pro priklad uvadim sve nastaveni:
protocol imap { login_executable = /usr/libexec/dovecot/imap-login mail_executable = /usr/libexec/dovecot/imap imap_max_line_length = 65536 imap_client_workarounds = outlook-idle mail_plugins = quota imap_quota } protocol pop3 { login_executable = /usr/libexec/dovecot/pop3-login mail_executable = /usr/libexec/dovecot/pop3 pop3_uidl_format = %08Xu%08Xv pop3_client_workarounds = outlook-no-nuls oe-ns-eoh mail_plugins = quota }
V /var/log/mail.log je videt ze mail se normalne prijmul:
Jun 21 19:20:55 idle postfix/smtpd[30094]: connect from fg-out-1718.google.com[72.14.220.152]
Jun 21 19:20:55 idle postfix/smtpd[30094]: EA0AD12561: client=fg-out-1718.google.com[72.14.220.152]
Jun 21 19:20:55 idle postfix/cleanup[30099]: EA0AD12561: message-id=<AANLkTim3JS9SsCjUDZIjn3qKkh0stSTTsDBj5JpkYfsw@mail.gmail.com>
Jun 21 19:20:55 idle postfix/qmgr[30090]: EA0AD12561: from=<abc@gmail.com>, size=1868, nrcpt=1 (queue active)
Jun 21 19:20:56 idle postfix/virtual[30100]: EA0AD12561: to=<my@mail.com>, relay=virtual, delay=0.15, delays=0.06/0.01/0/0.07, dsn=2.0.0,
Jun 21 19:20:56 idle postfix/qmgr[30090]: EA0AD12561: removed
Jun 21 19:21:09 idle dovecot: imap-login: Login: user=<my@mail.com>, method=PLAIN, rip=87.11.210.160, lip=91.121.144.184, TLS
Jun 21 19:21:15 idle dovecot: IMAP(my@mail.com): Connection closed bytes=338/1460
zkousel jsem i Vase nastaveni a problem zustava, pouzivam imap, pop3 ne
Pred par minutama jsem vyzkousel i cisty konfiguraky z balicku postfixu a dovecotu z repoziraru s modifikaci podle tohohle navodu a problem zustava. Vsechno funguje v poradku do ty doby, nez se pripojim clientem a dojde k presnunu mailu z /new/ do /cur/. Opet neni nazev souboru ukoncen flagem. :/
# dpkg -l | grep dove ii dovecot-common 1:1.2.11-1 secure mail server that supports mbox and maildir mailboxes ii dovecot-imapd 1:1.2.11-1 secure IMAP server that supports mbox and maildir mailboxes ii dovecot-pop3d 1:1.2.11-1 secure POP3 server that supports mbox and maildir mailboxes
protocol imap
dát
login_greeting_capability = yes imap_client_workarounds = tb-extra-mailbox-sep
Restarting IMAP/POP3 mail server: dovecotError: Error in configuration file /etc/dovecot/dovecot.conf line 17: Unknown setting: login_greeting_capability
Fatal: Invalid configuration in /etc/dovecot/dovecot.conf
failed!
Pokud smazu login_greeting_capability a pridam pouze imap_client_workarounds = tb-extra-mailbox-sep problem pretrvava.
Tak sem prave vyzkousel m$ outlook 6ku a ta prekousne ty nazvy souboru bez flagu na konci v pohode.
Netusite nekdo jestli musi bejt dovecot nejak specialne nastaven aby spolupracoval s thunderbirdem korektne?
Thunderbird 2 i 3 mi okamzite crashne po prijeti zpravy (= na konci nazvu souboru chybi flag), outlook 6 v poradku prijme zpravu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.