Portál AbcLinuxu, 5. května 2025 12:44

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
23.6.2004 07:57 Tomáš | skóre: 31 | blog: Tomik
Rozbalit Rozbalit vše Pěkný úvod
Odpovědět | Sbalit | Link | Blokovat | Admin
Bude nějaké pokračování, kde popíšete tvar souboru s poštou (mailbox: /var/spool/mail/*), připojení příloh--Mime vs. UUENCODE/UUDECODE. Jak vysekat přílohy, když poštovní server něco udělá špatně?
23.6.2004 08:36 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Pěkný úvod
Zatial nemam v plane popisovat tieto veci, ale je pravda, ze by sa to sem hodilo - ako advanced topic.

Strucne: mailbox vo /var/spool/mail/*: Odporucam pustit 'mail' a ulozit jednu spravu do suboru:

$ mail
mailx version nail 10.7 3/19/04.  Type ? for help.
"/var/spool/mail/rastos": 1 message 1 new
>N  1 john@yahoo.com    Wed Jun 23 08:17  20/721   test
? s /tmp/msg
"/tmp/msg" [New file] 21/730
? x
Potom sa pozries na /tmp/msg - taketo subory su v mailboxe nacvakane jeden za druhym.

Mime: hlavicka obsahuje nieco taketo:

Content-type: multipart/alternative;
boundary="Boundary_(ID_PjqrZVpDzzEjacVh9b/vqg)"
Jednotlive attachmenty su podtom oddelene riadkami, na ktorych je:
--Boundary_(ID_PjqrZVpDzzEjacVh9b/vqg)

uuencode/decode - pozriet si manualovu stranku, urobit si uuencode na lubovolny subor a pozriet si prve dva a posledny riadok vystupu.

Jiří Svoboda avatar 23.6.2004 09:47 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Re: Pěkný úvod
Na vysekani priloh pouzivam ripmime.
23.6.2004 11:10 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Pěkný úvod
Neviem ci ripmime je sucastou tvojej distribucie, ale Slackware ma napr. mimencode/mimedecode v baliku 'metamail'. Ak sprava nie je poskodena, tak dostat z nej ten attachment zvycajne nie je problem.
Jiří Svoboda avatar 23.6.2004 11:28 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Re: Pěkný úvod
Ano, mas samozrejme pravdu, ale mam dojem, ze mimencode/mimedecode potrebuje poslat na stdin jen vlastni encodovana data. 'ripmime' spustim treba na cely mbox file a do adresare mi to vysype vsechny prilohy ze vsech mailu (se spravnymi jmeny souboru).
23.6.2004 08:11 Tomáš Šimek
Rozbalit Rozbalit vše SMTP Odesílání
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezký článek, děkuji za přikaz retr u POP3, jedna z věcí co mi chyběla do úspěšného low-level testování.

Odesílání SMTP se mi zdá popsáno poněkud zmatečně >Ak adresa obsahuje doménu, musí SMTP server odovzdať ďalej. >* Jednoducho odovzdá správu inému SMTP serveru.

Tohle je ten smarthost jak je napsáno dole, používá se na menších podsítích, není např veřejná IP, nebo reverzní DNS (chytrý pošťák příjemce odmítne převzít mail z takového serveru)

>* Pokúsi sa správu doručiť sám. Ak sa mu to nepodarí, odovzdá ju inému STMP....(smarthost).

Tak tohle jsem ještě neslyšel (SMTP fair doručování+smarthost dohromady), pokud se mu to nepodaří (na 99% spam) je to důvod k odmítnutí mailu, at si klient skusí záložní server (MX s nižší prioritou.

V článku mi chybí zmíňení způsobu odmítnutí (realtime, bounce (chybový) mail zpět)
23.6.2004 09:39 nemo
Rozbalit Rozbalit vše Re: SMTP Odesílání
Prominte, muzete mi to upresnit. Asi jsem to nepochopil. Kdy odmitne kdo prevzit mail z jakeho serveru?

Adresa obsahuje domenu, takze SMTP server odevzda mail dalsimu SMTP serveru - smarthostu(?). Proc by smarthost takovy mail odmital? Protoze ten SMTP server co mu mail predal nema verejnou IP adress?

Potom by nemela smysl nasledujici situace: domaci sit s vlastnim postovnim serverem pripojena pres dialup. Takovy domaci SMTP server by nemel verejnou IP adresu a vsechny Internetove SMTP servery (pro nej smarthosti) by od nej maily odmitaly.

Pochopil jsem to dobre? Jsem lama, takze diky za vysvetleni.
23.6.2004 13:12 platYpus
Rozbalit Rozbalit vše Re: SMTP Odesílání
Vetsinou je to udelano tak, ze (na domacim SMTP-serveru) mas nastaven jako "smarthost" SMTP-server sveho providera.

Ten pochopitelne v DNS je, a tudiz se s nim ostatni SMTP-servery (ktere overuji pres reverzni DNS) bavit budou.

To jestli je to spravne je diskutabilni, nicmene je to tak.

BTW: terminem "smarthost" se oznacuje _prave_jeden_ server (viz. vyse), na ktery smeruji veskere tvoje odchozi maily a on uz se postara o jejich dalsi smerovani (slouzi jako relay).
23.6.2004 09:53 nemo
Rozbalit Rozbalit vše SMTP & MX & smarthost
Odpovědět | Sbalit | Link | Blokovat | Admin
Clanek se mi libil, jen mam jeste par otazek.

* Jednoducho odovzdá správu inému SMTP serveru.
* Pokúsi sa správu doručiť sám. Ak sa mu to nepodarí, odovzdá ju inému STMP serveru v nádeji, že ten bude úspešnejší. Tento druhý SMTP server sa v angličtine nazýva smart host.

Podle ceho se rozhodne co bude delat? Nebo to dela poporade, zkusi dorucit a kdyz neuspeje preda dal?

Pokud SMTP server dostane od DNS serveru vic MX zaznamu s ruznou prioritou, zkousi v pripade neuspechu poslat mail podle zaznamu s nizsi a nizsi prioritou, nebo kdyz se mu to jednou nepovede, tak se na to vykasle? Je to dane, nebo to zavisi na konkretnim nastaveni toho SMTP serveru?

Smarthost je kazdy SMTP server, kteremu jiny SMTP server preda mail k doruceni? Zavisi tedy na pohledu nebo je smarthost definovan jinak?

Kdyz postovni server predava mail jinemu postovnimu serveru k doruceni, predava mu jej SMTP protokolem, nebo si mail servery predavaji maily jinym zpusobem?

Diky.
23.6.2004 11:11 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: SMTP & MX & smarthost
Zda sa, ze s tym smart-hostom som zabrusil do temy, kde nie som dostatocne fundovany :-( . Preto budem vdacny, ak ti, co sa na to citia (Tomáš Šimek?) ma uvedu na pravu mieru.

Osobne sa domnievam, ze ak SMTP server nedokaze dorucit spravu, posle ju smart-hostovi. Nedokazat to moze napr. z dovodu timeoutov pri rezolovani DNS a podobne. Dokumentacia sendmail-u napr. hovori, ze smart-host mozno definovat ako host, ktory dokaze spracovat e-mail, ktory sa niekde na ceste musi prenasat napr. cez uucp. Nas server to nevie, ale vieme o niekom, kto to vie - proste je smart - chytrejsi ako nas server.

Co sa tyka spravania pri viacerych MX - myslim, ze to zavisi na druhu problemu, ktory ma nas server s dorucovanim. RFC hovori: "if host is not available" - ak nie je dostupny. Povedal by som, ze 'no route to host' ci 'connection timeout' by mali viest k pouzitiu dalsieho MX v poradi.

Este k prvej otazke: SMTP server moze byt nakonfigurovany ako 'forwarder' - vtedy, vseto co dostane posle tomu 'forwarduje'. Moze byt ale nakonfigurovany ako plnohodnotny server a vtedy sa pokusa dorucit spravu sam.

Jiří Svoboda avatar 23.6.2004 11:32 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Re: SMTP & MX & smarthost
"SMTP server moze byt nakonfigurovany ako 'forwarder' - vtedy, vseto co dostane posle tomu 'forwarduje'." - ano, a prave tomu stroji, na ktery se to vsechno forwarduje, se z pohledu forwardera rika smarthost... (IMHO)
23.6.2004 12:30 Tomáš Šimek
Rozbalit Rozbalit vše Re: SMTP & MX & smarthost
SMTP servery (já používám EXIM) se pokud přijmou poštu (z internetu, od uživatele) většinou řídí správcem definovanýmy pravidly (samotnému přijetí může předcházet opět řada kontrol (syntaxe hlaviček, existence revezního MX DNS odesílajícího serveru, koukání se do různých blacklistů, spojení se s odesílajícím serverem a pomocí SMTP VRFY příkazu ověření existence odesílatele))

U většiny tyto pravidla vypadají asi takhle :

1) je cílová doména jedna z mojich ?

1.1) Podívej se do /etc/aliases, jestli najdeš uživatele, začni procházet pravidla znova s pŕepsanou adresou

1.2) Existuje ten uživatel a má ~/.procmailrc ? -> předej procmailu

1.3) Existuje ten uživatel ? -> zapiš mu mail do /var/spool/mail/uzivatel

1.4) Selži, chybou 550 pokud ješte můžeš (nepřijmul si tělo a neodpověděl 250 OK), jinak budeš muset poslat bounce mail

2) je cílová doména jedna z těch pro které děláš záložní server ?, jestli ano, odešli

3) cílová adresa je úplně cizí, je IP odesílatele v databázi strojů pro které děláš relay/smarthost ?, jestli ano, odešli

4) selži SMTP chybou (teď nevim, jestli taky 550), není rozhodně třeba bounce mail protože, chyba je u odesílatele a ne u nás a nebudeme net zatěžovat bounce reakcemi na stovky spamů

odeslání:

(Sem už se dostanou pouze maily co dou pryč do internetu, naše už jsme zpracovali). Podívej se do DNS na MX cílové domény.

Navaž spojení se serverem co má nejnižší MX a pošli mu to.

V případě že převezme (SMTP 250), přestává to být naše starost.

V případě že odpoví 550, víme že uživatel neexistuje, nebo jiný permanentní důvod (server má např. zprávu za spam) a my pošleme zpátky bounce mail (mail už jsme od odesílajícího převzali, tudíž nemůžeme zpátky odpovědět 550, a je naše starost poslat bounce mail.

V případě že odpoví něco ve stylu temporary error, nebo se s ním vůbec nespojíme, zkusíme celé odesílání zopakovat dalšímu serveru (s menší prioritou)

Pokud ani jeden server nebyl schopen pŕijmout, ani natvrdo odmítnout, uložíme a zkoušíme několik dní

Potom pošleme zpátky bounce mail a zahodíme

Pokud jsme někde v lokální síti s privátní adresou, nemáme reverzní MX (slušné servery nevemou poštu od někoho kdo nemá revezní MX), nakonfigurujeme odesílání přez SMARTHOST (nekoukáme do DNS, ale všechno strčíme rovnou smarthostu, chyby neočekáváme). Je samořejmé źe smarthost je normální SMTP, který naší adresu ma v databázi adres, pro které dělá relay viz výše)

Tak tohle je zjednodušené schéma jak pracuje SMTP server, většina standardních konfigurací se takhle chová. Body co jsem poslal jsou v praxi trochu složitější. Navíc já byh dnes např. nevyžil bez antispamu, antiviru, blokátoru pŕíloh (když má někdo 800 spamů+virů do domény denně :(). Tyhle anti* kontroly se většinou realizujou standardně pomocí SMTP přeposílání (ano ten náš smarthost), takže pravidla bobtnají

Uff trochu sem se rozepsal, při uvážení trendu zkracování, by to vydalo na článek :)
1.7.2004 13:00 jiri
Rozbalit Rozbalit vše Re: SMTP & MX & smarthost
Díky. Tohle je opravdu moc pěkně napsáno!
23.6.2004 12:54 petr_p
Rozbalit Rozbalit vše SMTP neni jen elektronicka posta
Odpovědět | Sbalit | Link | Blokovat | Admin
Pekny clanek, akorat tu chybi vysvetleni, ze SMTP a mail jsou dve oddelene veci. SMTP je protokol k obecnemu predavani textovych zprav, takze ho jejich obsah -- mail (tzn. hlavicky a telo) vubec nezajima. Chybi vysvetleni pojmu obalkova adresa, coz je ten smerodatny udaj, podle ktereho se pozna adresat a odesilatel.
6.7.2004 22:15 Michal Kubeček
Rozbalit Rozbalit vše Re: SMTP neni jen elektronicka posta
Ono je tam těch nepřesností mnohem víc. Spíš mám podezření, že autor nikdy neviděl RFC 2821 a 2822 (o 2045-2049 nemluvě) a to, co zde prezentuje, jsou pouze odpozorované empirické poznatky.
23.6.2004 13:04 h7
Rozbalit Rozbalit vše rozsekani mailu
Odpovědět | Sbalit | Link | Blokovat | Admin
Ahoj, chystam se napsat aplikaci ,co bude pravidelne prochazet maildiry a starsi maily bude hazet do databaze (prilohy necham na disku v urcenem adresari). Jeste nevim v cem to budu delat.... php ,bash nebo perl. Ted resim problem ,jak z mailu (v maildir formatu) vysekat telo a prilohu. Rad bych tez ukladal text mailu v plain textu (tzn: pokud je mail v html tak to bude potreba prevest do plainu,ale jak nejsnaze?) Budu rad,kdyz hodite nejake postrehy zkusenosti,typy a tak. Pekny den hanz!
25.6.2004 12:06 David Jež | skóre: 42 | blog: -djz | Brno
Rozbalit Rozbalit vše Re: rozsekani mailu
Zdravim,
kombinace mess822 a ripmime by ti mohla hodne pomoct :-)
-djz
"Yield to temptation; it may not pass your way again." -- R. A. Heinlein
2.7.2004 14:46 io
Rozbalit Rozbalit vše velmi pekne
Odpovědět | Sbalit | Link | Blokovat | Admin
Velmi dobre napsano, i kdyz jsem (jak se ted troufale oznacim) starej windowsak tak mi to hodne dalo :) jen jsem si nedokazal pokecat se SMTP serverem ... musim jich zkusit vic, ten nas mi nechce napovidat pres HELP :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.