sbl 0 Zgłoś post Napisano Luty 28, 2013 Skonfigurowałem sobie Postfixa i Dovecota z użyciem kont wirtualnych trzymanych w MySQL. Standardowo wg hwoto, postępowałem krok po kroku. Autoryzacja za pomocą SASL, maile wysyłane są poprawnie do wszystkich serwerów pocztowych. Natomiast problem pojawia się gdy chcę otrzymać jakiś email. Wysłany np, z GMail do mojej skrzynki (w domenie postfixa) nie dochodzi, nie ma go w tmp Maildir, nie odbija do nadawcy z błędem, nie ma nic w logach. Jest to dla mnie bardzo dziwne Jedynie dochodzą maile w domenie, w której skonfigurowałem serwer pocztowy. Wklejam moją konfigurację i czekam na propozycje pomocy: postconf -n broken_sasl_auth_clients = yes config_directory = /etc/postfix html_directory = /usr/share/doc/postfix/html message_size_limit = 30720000 mydestination = localhost, localhost.localdomain myhostname = mail.mojadomena.pl mynetworks = 127.0.0.0/8 proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps readme_directory = /usr/share/doc/postfix smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_tls_cert_file = /etc/postfix/smtpd.cert smtpd_tls_key_file = /etc/postfix/smtpd.key smtpd_use_tls = yes virtual_alias_domains = virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_transport = dovecot virtual_uid_maps = static:5000 /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: plain login saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail sql_passwd: mail sql_database: mail sql_select: select password from users where email = '%u' dovecot -n # 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-686-bigmem i686 Debian 6.0.3 ext3 log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps pop3 pop3s login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login mail_location: maildir:/home/vmail/%d/%n/Maildir mbox_write_locks: fcntl dotlock mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes lda: log_path: /home/vmail/dovecot-deliver.log auth_socket_path: /var/run/dovecot/auth-master postmaster_address: postmaster@mojadomena.pl mail_plugins: sieve global_script_path: /home/vmail/globalsieverc auth default: passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: static args: uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail /etc/dovecot/dovecot-sql.conf driver = mysql connect = host=127.0.0.1 dbname=mail user=mail password=mail default_pass_scheme = CRYPT password_query = SELECT email as user, password FROM users WHERE email='%u'; Po wysłaniu maila z GMail lub innej zewnętrznej poczty, sprawdzam mail.log i nie ma tam nic poza logiem poprawnego logowania do skrzynki. Feb 28 00:56:50 serwer dovecot: imap-login: Login: user=<hello@mojadomena.pl>, method=PLAIN, rip=78.8.X.X, lip=X.X.56.X, TLS Kolejka, logi czysto. Użytkownik vmail o UID 5000 i grupie vmail również 5000 ma prawa zapisu do katalogu /home/vmail czego skutkiem jest poprawne tworzenie schematu katalogów przy dodaniu nowego konta pocztowego w MySQL. Dovecot ma prawa zapisu ponieważ gdy wysyłam mail sam do siebie, lub z innej skrzynki w tej samej domenie to poprawnie zapisuje wiadomości w katalogach. Proszę o pomoc Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Luty 28, 2013 1. Czy nasłuchuje postfix na zewnętrznym IP ? 2. Firewall przepuszcza ruch ? 3. telnet z jakiegkolwiek innego serwera na port smtp ? 4. rekord MX ? Udostępnij ten post Link to postu Udostępnij na innych stronach
sbl 0 Zgłoś post Napisano Luty 28, 2013 1. Czy nasłuchuje postfix na zewnętrznym IP ? 2. Firewall przepuszcza ruch ? 3. telnet z jakiegkolwiek innego serwera na port smtp ? 4. rekord MX ? Firewall jest wyłączony. Rekord MX poprawnie ustalony w DNS Gdzie sprawdzić nasłuchiwanie postfixa? mojadomena.pl. 21600 IN MX 10 mail.mojadomena.pl. applemac:~ sbl$ telnet mail.mojadomena.pl 587 Trying x.x.56.x... Connected to mail.mojadomena.pl. Escape character is '^]'. 220 mail.mojadomena.pl ESMTP Postfix ehlo localhost 250-mail.mojadomena.pl 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN applemac:~ sbl$ telnet mail.mojadomena.pl 143 Trying x.x.56.x... Connected to mail.mojadomena.pl. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready. Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Luty 28, 2013 Czy sprawdzałeś to z całkiem zewnętrznego serwera ? Sprawdź ten port telnet moja.domena.pl 25 i wykonaj całą sesję ehlo wp.pl mail from: <test@wp.pl> rcpt to: <twoj_user@twojadomena.pl> data Subject: test test . Udostępnij ten post Link to postu Udostępnij na innych stronach
sbl 0 Zgłoś post Napisano Luty 28, 2013 Czy sprawdzałeś to z całkiem zewnętrznego serwera ? Sprawdź ten port telnet moja.domena.pl 25 i wykonaj całą sesję ehlo wp.pl mail from: <test@wp.pl> rcpt to: <twoj_user@twojadomena.pl> data Subject: test test . Tak, wykonuję telnet z zewnętrznego serwera, oraz u mnie SMTP jest na porcie 587 więc na 25 refused. Tak więc, mail wysłany z telneta doszedł prawidłowo, hmm nie wiem co może być nie tak. telnet mail.mojadomena.pl 587 Trying x.x.56.x... Connected to mail.mojadomena.pl. Escape character is '^]'. 220 mail.mojadomena.pl ESMTP Postfix ehlo wp.pl 250-mail.mojadomena.pl 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: <test@wp.pl> 250 2.1.0 Ok rcpt to: <hello@mojadomena.pl> 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> Subject: test test . 250 2.0.0 Ok: queued as 9855E9C0FB quit 221 2.0.0 Bye Connection closed by foreign host. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Luty 28, 2013 (edytowany) Tak, wykonuję telnet z zewnętrznego serwera, oraz u mnie SMTP jest na porcie 587 więc na 25 refused. Skoro masz jedynie klienckie submission, to jak zewnętrzne serwery smtp (które gadają z sobą TYLKO po porcie 25) mają się do ciebie podłączyć? A poza tym - to na porcie 587 powinna być bezwzględna autoryzacja smtp dla każdego. Więc mail from cos@wp.pl powinien zostać odbity. Edytowano Luty 28, 2013 przez kafi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
sbl 0 Zgłoś post Napisano Luty 28, 2013 Skoro masz jedynie klienckie submission, to jak zewnętrzne serwery smtp (które gadają z sobą TYLKO po porcie 25) mają się do ciebie podłączyć? A poza tym - to na porcie 587 powinna być bezwzględna autoryzacja smtp dla każdego. Więc mail from cos@wp.pl powinien zostać odbity. Dodałem port 25 dla smtpd w master.cf, teraz config wygląda następująco a maile dochodzą bez problemu. Tylko jak wymusić autoryzację na porcie 587? pickup fifo n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr fifo n - n 300 1 qmgr tlsmgr unix - - - 1000? 1 tlsmgr rewrite unix - - - - - trivial-rewrite bounce unix - - - - 0 bounce defer unix - - - - 0 bounce trace unix - - - - 0 bounce verify unix - - - - 1 verify flush unix n - - 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - - - - smtp relay unix - - - - - smtp -o smtp_fallback_relay= showq unix n - - - - showq error unix - - - - - error retry unix - - - - - error discard unix - - - - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - - - - lmtp anvil unix - - - - 1 anvil scache unix - - - - 1 scache maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} 587 inet n - n - - smtpd 25 inet n - n - - smtpd Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Luty 28, 2013 http://www.lemat.priv.pl/index.php?m=page&pg_id=136 Udostępnij ten post Link to postu Udostępnij na innych stronach
sbl 0 Zgłoś post Napisano Luty 28, 2013 Ok, ustawiłem. Teraz przy próbie wysłania maila z telnetu przez port 587 zwraca ciągle: 530 5.7.0 Must issue a STARTTLS command first Więc chyba dobrze. Dziękuję za pomoc i pozdrawiam. Udostępnij ten post Link to postu Udostępnij na innych stronach