Fórum Root.cz
Hlavní témata => Server => Téma založeno: Petr 29. 02. 2012, 00:29:18
-
Prosím o radu s odesíláním pošty přes postfix (defaultní konfigurace na CentOSu 6.2). Mám nastaveno mynetworks = 127.0.0.1/8, smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
1) Pokus přes "telnet localhost smtp", tj. přímo na serveru
- relace se bez problémů vytvoří
- na existující lokální účet se zpráva bez problémů odešle
- jakmile ale zkusím RCPT TO: <moje_adresa@volny.cz>, tj. na nějaký svůj mailbox na internetu, postfix hlásí Relay access denied
2) Pokus přes "cat test_email.txt | /usr/sbin/sendmail -t -bm -v"
- z toho samého serveru
- kde test_email.txt je testovací zpráva na tu samou adresu <moje_adresa@volny.cz> jako výše
- jakožto MTA na serveru běží pouze postfix ("service sendmail status" vůbec sendmail nerozpoznává, protože tam ani není nainstalovaný)
- zpráva se bez problémů odešle.
Díky moc za pomoc, už s tím trávím hodiny a ani na netu se mi nedaří nic najít.
Petr
-
Napiš, jak přesně ty příkazy zadáváš a jaká to je doména.
Musíš například použít v "mail from" nějaký local account včetně místní domény a z toho, co píšeš, se mi nějak zdá, že se serveru neidentifikuješ nebo se identifikuješ špatně a proto ti nedovolí relay. Ani nevím, na jaký port
Jinak, pokud najdeš jiný program, kde to funguje, nastav si netcat jako tunel mezi tím programem a postfixem a sleduj komunikaci.
Dále, přiznám se, že jsem nikdy nepoužíval: "cat test_email.txt | /usr/sbin/sendmail -t -bm -v"
Ale možná tak předáváš zprávu přímo a možná, že prostě obejdeš všechna restriktivní pravidla, ale to OPRAVDU JEN VAŘÍM Z VODY, NEVÍM.
No a pokud ne, asi budeš mít nějaký problém s AUTH.
-
A jses si jistej ze localhost == 127.0.0.1? Dost mozna se telnet pripoji na ::1 (IPv6 localhost) a tim padem odesilatel neni z mynetworks=127.0.0.1/8.
Navic mam permit_mynetworks nejen v smtpd_recipient_restrictions ale i v smtpd_client_restrictions - nevim jestli to tak musi byt, ale me to funguje :)
Mimochodem na testovani ze shellu je misto telnetu pohodlnejsi pouzit smtp-cli --verbose: http://smtp-cli.logix.cz (http://smtp-cli.logix.cz)
-
Ad sendmail. Prikaz sendmail je soucasti vsech smtp serveru, vcetne postfixu. Jsou za tim "historicke duvody".
Pokud ti postfix odmitne mail dorucit, tak se podivaj do jeho logu. Nejspis tak nejdes co a hlavne komu odmitnul dorucit. Bud se telnetem pripojuses na IPv6 port(jak uz bylo zmineno) anebo jsi neuvedl domenu odesilatele.
-
Díky moc všem, přesně to vystihl Michal Ludvig, localhost skutečně reprezentoval primárně IPv6 adresu.
Stačí dát "telnet 127.0.0.1 smtp" a jede to.