Jak na SMTP pres dial-up?

Vladimír Solnický {Vladimir Solnicky} vs at utia.cas.cz
Tue Jul 22 16:54:39 CEST 1997


On Tue, 22 Jul 1997, Karel Fajkus wrote:

> Kdysi jsem v teto konferenci zaslechl neco o tom, ze pomoci ESMTP lze resit
> i problem prenosu posty pres linku, ktera neni dostupna nepretrzite (napr.
> dial-up). Nyni jsem nucen resit tento problem -- precetl jsem si RFC1651
> (SMTP Service Extensions) a z casti RFC821 (SMTP), ale na nic jsem
> neprisel.

Ano. Jde o vyuziti konkretne rozsireni oznacovaneho retezcem ETRN
a popsaneho v RFC 1985. Umoznuje dalkove pusteni pruchodu frontou bud pro
dany pocitac, nebo pro danou domenu, nebo pro danou frontu (tato treti
moznost je implementacne zavisla a vyzaduje pro vyuziti vice prace u
pripojovatele, na druhou stranu je asi nejvice elegantni, protoze zcela
odstrani zbytecne pruchody frontou).

Princip (ve strucnosti) je nasledujici:

Mame pocitac a.vyt.cz, ktery je pripojen vytacenou linkou pres
pripojovatele prip.cz. Ten ma zalozni server pro postu mx.prip.cz. Do
DNS je treba dat nasledujici polozky:

vyt.cz			IN	MX	77	mx.prip.cz
a.vyt.cz		IN	MX	77	mx.prip.cz

vyt.cz			IN	MX	11	a.vyt.cz
a.vyt.cz		IN	MX	11	a.vyt.cz


Pak, je-li spol. vyt.cz nepripojena, posta konci na mx.prip.cz. Jakmile se
spolecnost vyt.cz pripoji, odesle na pocitac sveho pripojovatele, na port
25 (SMTP) nasledujci posloupnost prikazu:

EHLO a.vyt.cz
ETRN @vyt.cz
QUIT

Pokud nenastane chyba pri zpracovani (obvykle nenastane), odstartuje se
tak pruchod frontou pro domenu vyt.cz a vsechny poddomeny. U vsech dopisu
splnujicich prijemce se SMTP server na mx.prip.cz pokusi je dorucit na
stroj s nizsim MX zaznamem (a.vyt.cz) -- a jelikoz je spojeni prave
nahozene, povede se mu to. Dopisy, ktere prijdou behem navazaneho spojeni,
budou doruceny primo na a.vyt.cz. nastane-li preruseni spojeni drive, nez
budou vsechny dopisy z fronty dorucny, zustanou na serveru az do dalsiho
pripojeni.

Experimentalne jsem si overil, ze pro sendmail 8.8.* staci nasledujici
skript (je treba, aby se spustil ihned po navazani spojeni nebo dokonce
jegho spusteni spojeni iniciovalo), kde parametr 1 obsahuje MX stroj a
parametr 2 zadanou domenu nebo stroj:

#!/bin/sh
telnet $1 25 << EOT
ehlo `hostname`
etrn $2
quit
EOT

Spustit se (napr. pro nasi domenu a MX Cesnetu na adis.cesnet.cz) napr.
s parametry:

GetMail "adis.cesnet.cz" "@utia.cas.cz"

Davka je urcena pro Unix, ale princip je stejny pro kazdy stem i pouzity
programovaci jazyk.

Podminky:

1) SMTP server v siti pripojovane vytacenym spojenim ma konstantni IP
adresu a existuje v DNS (vnejsiho sveta), aby na neho mohl existovat
MX odkaz. 

2) Vnitrni sit se pripojuje a zada si postu dostatecne casteji, nez je
doba vraceni dopisu podle sendmail.cf (typicky byva u novych sendmailu 5
dni, takze treba kazdy pracovni den se alespon jednou pripojit a postu
stahnout).

3) Je moznost na siti vyt.cz spoustet v pravidelnem casovem intervalu
pripojeni a skript, ktery ,,vybudi`` vzdaleny ESMTP server. 

Pro jednoduchost mluvim o sendmailu, ale funguje kazdy ESMTP server
podporujici ETRN.

Jeste ke specialni fronte. Upravil-li by pripojovatel sendmail.cf na
mx.prip.cz tak, aby odkladal dopisy urcene pro *vyt.cz do zvlastni fronty,
vubec si jich pak (sendmail) nebude vsimat, dokud nedostane treti formu
prikazu ETRN (u sendmailu ,,ETRN #vyt``, jmenuje-li se fronta pro vyt.cz
vyt). Pri pouziti predchozi formy je doruceni na a.vyt.cz zkouseno i
prikazdem pruchodu frontu (typicky kazdych 30 minut), kdy spadne na TCP
timeout.

Je mozne, ze jsem na neco zapomnel, takze se klidmne ptejte.

S pozdravem

V. S.

Vladimír Solnický, ÚTIA AV ČR, Pod vodárenskou věží 4,
CZ 182 08 Praha 8-Libeň, +420 2 6605/2364, telefax: +420 2 6884677,
vs at utia.cas.cz, klíče PGP via ,,SEND PGP KEY`` v předmětu dopisu.





More information about the net mailing list