Simple Mail Transfer Protocol ß√δ ≡ατ≡αßε≥αφ Σδ εß∞σφα ∩ε≈≥εΓ√∞Φ ±εεß∙σφΦ ∞Φ Γ ±σ≥Φ Internet. SMTP φσ ταΓΦ±Φ≥ ε≥ ≥≡αφ±∩ε≡≥φεΘ ±≡σΣ√ Φ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± Σδ Σε±≥αΓΩΦ ∩ε≈≥√ Γ ±σ≥ ⌡ ± ∩≡ε≥εΩεδα∞Φ, ε≥δΦ≈φ√∞Φ ε≥ TCP/IP Φ ╒.25. ─ε±≥Φπασ≥± ²≥ε τα ±≈σ≥ Ωεφ÷σ∩÷ΦΦ IPCE (InterProcess Communication Environment). IPCE ∩ετΓεδ σ≥ ΓταΦ∞εΣσΘ±≥ΓεΓα≥ⁿ ∩≡ε÷σ±±α∞, ∩εΣΣσ≡µΦΓα■∙Φ∞ SMTP Γ Φφ≥σ≡αΩ≥ΦΓφε∞ ≡σµΦ∞σ, α φσ Γ ≡σµΦ∞σ "STOP-GO".
╠εΣσδⁿ ∩≡ε≥εΩεδα. ┬ταΦ∞εΣσΘ±≥ΓΦσ Γ ≡α∞Ωα⌡ SMTP ±≥≡εΦ≥± ∩ε ∩≡Φφ÷Φ∩≤ ΣΓ≤±≥ε≡εφφσΘ ±Γ τΦ, Ωε≥ε≡α ≤±≥αφαΓδΦΓασ≥± ∞σµΣ≤ ε≥∩≡αΓΦ≥σδσ∞ Φ ∩εδ≤≈α≥σδσ∞ ∩ε≈≥εΓεπε ±εεß∙σφΦ . ╧≡Φ ²≥ε∞ ε≥∩≡αΓΦ≥σδⁿ ΦφΦ÷ΦΦ≡≤σ≥ ±εσΣΦφσφΦσ Φ ∩ε±√δασ≥ τα∩≡ε±√ φα εß±δ≤µΦΓαφΦσ, α ∩εδ≤≈α≥σδⁿ φα ²≥Φ τα∩≡ε±√ ε≥Γσ≈ασ≥. ╘αΩ≥Φ≈σ±ΩΦ, ε≥∩≡αΓΦ≥σδⁿ Γ√±≥≤∩ασ≥ Γ ≡εδΦ ΩδΦσφ≥α, α ∩εδ≤≈α≥σδⁿ - ±σ≡Γσ≡α.
╨Φ±. 2.2. ╤⌡σ∞α ΓταΦ∞εΣσΘ±≥ΓΦ ∩ε ∩≡ε≥εΩεδ≤ SMTP
╩αφαδ ±Γ τΦ ≤±≥αφαΓδΦΓασ≥± φσ∩ε±≡σΣ±≥Γσφφε ∞σµΣ≤ ε≥∩≡αΓΦ≥σδσ∞ Φ ∩εδ≤≈α≥σδσ∞ ±εεß∙σφΦ . ╧≡Φ ≥αΩε∞ ΓταΦ∞εΣσΘ±≥ΓΦΦ ∩ε≈≥α Σε±≥Φπασ≥ αßεφσφ≥α Γ ≥σ≈σφΦσ φσ±ΩεδⁿΩΦ⌡ ±σΩ≤φΣ ∩ε±δσ ε≥∩≡αΓΩΦ.
─Φ±÷Φ∩δΦφ√ ≡αßε≥√ Φ Ωε∞αφΣ√ ∩≡ε≥εΩεδα. ╬ß∞σφ ±εεß∙σφΦ ∞Φ Φ Φφ±≥≡≤Ω÷Φ ∞Φ Γ SMTP ΓσΣσ≥± Γ ASCII-ΩεΣα⌡. ┬ ∩≡ε≥εΩεδσ ε∩≡σΣσδσφε φσ±ΩεδⁿΩε ΓΦΣεΓ ΓταΦ∞εΣσΘ±≥ΓΦ ∞σµΣ≤ ε≥∩≡αΓΦ≥σδσ∞ ∩ε≈≥εΓεπε ±εεß∙σφΦ Φ σπε ∩εδ≤≈α≥σδσ∞, Ωε≥ε≡√σ τΣσ±ⁿ φατ√Γα■≥± ΣΦ±÷Φ∩δΦφα∞Φ.
═αΦßεδσσ ≡α±∩≡ε±≥≡αφσφφεΘ ΣΦ±÷Φ∩δΦφεΘ Γδ σ≥± ε≥∩≡αΓΩα ∩ε≈≥εΓεπε ±εεß∙σφΦ , Ωε≥ε≡α φα≈Φφασ≥± ∩ε Ωε∞αφΣσ MAIL, ΦΣσφ≥Φ⌠Φ÷Φ≡≤■∙σΘ ε≥∩≡αΓΦ≥σδ :
MAIL FROM: paul@quest.polyn.kiae.su╤δσΣ≤■∙σΘ Ωε∞αφΣεΘ ε∩≡σΣσδ σ≥± αΣ≡σ± ∩εδ≤≈α≥σδ :
RCPT TO: paul@apollo.polyn.kiae.su
╧ε±δσ ≥επε, ΩαΩ ε∩≡σΣσδσφ ε≥∩≡αΓΦ≥σδⁿ Φ ∩εδ≤≈α≥σδⁿ ∩ε≈≥εΓεπε ±εεß∙σφΦ , ∞εµφε ε≥∩≡αΓδ ≥ⁿ ∩ε±δσΣφσσ:
DATA
╩ε∞αφΣα DATA ΓΓεΣΦ≥± ßστ ∩α≡α∞σ≥≡εΓ Φ ΦΣσφ≥Φ⌠Φ÷Φ≡≤σ≥ φα≈αδε ΓΓεΣα ∩ε≈≥εΓεπε ±εεß∙σφΦ . ╤εεß∙σφΦσ ΓΓεΣΦ≥± Σε ≥σ⌡ ∩ε≡, ∩εΩα φσ ß≤Σσ≥ ΓΓσΣσφα ±≥≡εΩα ± ≥ε≈ΩεΘ Γ ∩σ≡ΓεΘ ∩ετΦ÷ΦΦ. ╤επδα±φε ±≥αφΣα≡≥≤ ∩ε≈≥εΓεπε ±εεß∙σφΦ RFC822 ε≥∩≡αΓΦ≥σδⁿ ∩σ≡σΣασ≥ ταπεδεΓεΩ Φ ≥σδε ±εεß∙σφΦ , Ωε≥ε≡√σ ≡ατΣσδσφ√ ∩≤±≥εΘ ±≥≡εΩεΘ. ╤α∞ ∩≡ε≥εΩεδ SMTP φσ φαΩδαΣ√Γασ≥ ΩαΩΦ⌡-δΦßε επ≡αφΦ≈σφΦΘ φα Φφ⌠ε≡∞α÷Φ■, Ωε≥ε≡α ταΩδ■≈σφα ∞σµΣ≤ Ωε∞αφΣεΘ DATA Φ "." Γ ∩σ≡ΓεΘ ∩ετΦ÷ΦΦ ∩ε±δσΣφσΘ ±≥≡εΩΦ. ╧≡ΦΓσΣσ∞ ∩≡Φ∞σ≡ εß∞σφα ±εεß∙σφΦ ∞Φ ∩≡Φ ΣΦ±÷Φ∩δΦφσ ε≥∩≡αΓΩΦ ∩ε≈≥√:
S: MAIL FROM: <paul@quest.polyn.kiae.su> R: 250 Ok S: RCPT TO: <dobr@kiae.su> R: 250 Ok S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: ▌≥ε ≥σΩ±≥ ∩ε≈≥εΓεπε ±εεß∙σφΦ S: . R: 250
─≡≤πεΘ ΣΦ±÷Φ∩δΦφεΘ, ε∩≡σΣσδσφφεΘ Γ ∩≡ε≥εΩεδσ SMTP Γδ σ≥± ∩σ≡σφα∩≡αΓδσφΦσ ∩ε≈≥εΓεπε ±εεß∙σφΦ (forwarding). ┼±δΦ ∩εδ≤≈α≥σδⁿ φσ φαΘΣσφ, φε ΦτΓσ±≥φε σπε ∞σ±≥ε∩εδεµσφΦσ, ≥ε ±σ≡Γσ≡ ∞εµσ≥ Γ√Σα≥ⁿ ±εεß∙σφΦσ:
R: 251 User not local; will forward to <user@domain.domain>
┼±δΦ ±σ≡Γσ≡ ∞εµσ≥ ±Σσδα≥ⁿ ≥εδⁿΩε ∩≡σΣ∩εδεµσφΦσ ε ΣαδⁿφσΘ°σΘ ≡α±±√δΩσ, ≥ε ε≥Γσ≥ ß≤Σσ≥ φσ±ΩεδⁿΩε Φφ√∞:
R: 551 User not local; please try <user@host.domain>
┬σ≡Φ⌠ΦΩα÷Φ Φ ≡α±°Φ≡σφΦσ αΣ≡σ±εΓ ±ε±≥αΓδ ■≥ ΣΦ±÷Φ∩δΦφ≤ Γσ≡Φ⌠ΦΩα÷ΦΦ. ┬ φσΘ Φ±∩εδⁿτ≤■≥± Ωε∞αφΣ√ VRFY Φ EXPN. ╧ε Ωε∞αφΣσ VRFY ±σ≡Γσ≡ ∩εΣ≥Γσ≡µΣασ≥ φαδΦ≈Φσ ΦδΦ ε≥±≤≥±≥ΓΦσ ≤Ωαταφφεπε ∩εδⁿτεΓα≥σδ :
S: VRFY paul R: 250-Paul Khramtsov<paul@quest.polyn.kiae.su>
╚±∩εδⁿτ≤ Ωε∞αφΣ≤ EXPN ∞εµφε ∩εδ≤≈Φ≥ⁿ ±∩Φ±εΩ ∞σ±≥φ√⌡ ∩εδⁿτεΓα≥σδσΘ:
S: EXPN Example-People R: 250-Paul Khramtsov<paul@quest.polyn.kiae.su> R: 250-Vladimir Drach-Gorkunov<vovka@quest.polyn.kiae.su>
┬ ±∩Φ±εΩ ΣΦ±÷Φ∩δΦφ, ≡ατ≡σ°σφφ√⌡ ∩≡ε≥εΩεδε∞ SMTP Γ⌡εΣΦ≥ Ω≡ε∞σ ε≥∩≡αΓΩΦ ∩ε≈≥√ σ∙σ Φ ∩≡ ∞α ≡α±±√δΩα ±εεß∙σφΦΘ. ┬ ²≥ε∞ ±δ≤≈ασ ±εεß∙σφΦσ ß≤Σσ≥ ε≥∩≡αΓδ ≥ⁿ± φσ Γ ∩ε≈≥εΓ√Θ ∙ΦΩ, α φσ∩ε±≡σΣ±≥Γσφφε φα ≥σ≡∞Φφαδ ∩εδⁿτεΓα≥σδ , σ±δΦ ∩εδⁿτεΓα≥σδⁿ Γ Σαφφ√Θ ∞ε∞σφ≥ φα⌡εΣΦ≥± τα ±ΓεΦ∞ ≥σ≡∞Φφαδε∞. ╧≡ ∞α ≡α±±√δΩα ε±≤∙σ±≥Γδ σ≥± ∩ε Ωε∞αφΣσ SEND, Ωε≥ε≡α Φ∞σσ≥ ≥αΩεΘ µσ ±Φφ≥αΩ±Φ±, ΩαΩ Φ Ωε∞αφΣα MAIL. ╩≡ε∞σ SEND ∩≡ ∞≤■ ≡α±±√δΩ≤ ε±≤∙σ±≥Γδ ■≥ SOML (Send or Mail) Φ SAML (Send and Mail). ═ατφα≈σφΦσ ²≥Φ⌡ Ωε∞αφΣ δσπΩε ∩εφ ≥ⁿ Φτ Φ⌡ φατΓαφΦ .
─δ ΦφΦ÷ΦαδΦτα÷ΦΦ Ωαφαδα εß∞σφα ∩ε≈≥εΘ Φ σπε ταΩ≡√≥Φ Φ±∩εδⁿτ≤■≥± Ωε∞αφΣ√ HELO Φ QUIT ±εε≥Γσ≥±≥Γσφφε. ╧σ≡ΓεΘ Ωε∞αφΣεΘ ±σαφ±α Σεδµφα ß√≥ⁿ Ωε∞αφΣα HELO.
╧≡ε≥εΩεδ Σε∩≤±Ωασ≥ ≡α±±√δΩ≤ ∩ε≈≥εΓ√⌡ ±εεß∙σφΦΘ Γ ≡σµΦ∞σ ε∩εΓσ∙σφΦ . ─δ ²≥εΘ ÷σδΦ ε≥∩≡αΓΦ≥σδⁿ Γ αΣ≡σ±σ ∩εδ≤≈α≥σδ ∞εµσ≥ ≤Ωατα≥ⁿ φσ±ΩεδⁿΩε ∩εδⁿτεΓα≥σδσΘ ΦδΦ π≡≤∩∩εΓεΘ αΣ≡σ±. ╬ß√≈φε, ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ SMTP Γ√ßΦ≡ασ≥ ²≥≤ Φφ⌠ε≡∞α÷Φ■ Φτ ταπεδεΓΩα ∩ε≈≥εΓεπε ±εεß∙σφΦ Φ φα σσ ε±φεΓσ ⌠ε≡∞Φ≡≤σ≥ ∩α≡α∞σ≥≡√ Ωε∞αφΣ ∩≡ε≥εΩεδα.
┼±δΦ ±εεß∙σφΦσ ∩ε ΩαΩεΘ-δΦßε ∩≡Φ≈Φφσ φσ ∞εµσ≥ ß√≥ⁿ ≡ατε±δαφε, ≥ε ∩εδ≤≈α≥σδⁿ ⌠ε≡∞Φ≡≤σ≥ ±εεß∙σφΦσ ε φσ≡ατε±δαφφε∞ ±εεß∙σφΦΦ:
S: MAIL FROM:<> R: 250 Ok S: RCPT TO: <@host.domain:JOE@host.domain> R: 250 Ok S: DATA R: 354 send the mail data, end with . S: Date 23 Oct 95 11:23:30 S: From: SMTP@remote.domain S: To: <JOE@host.domain> S: S: Undelivered message. Your message lost. 550 No such user. S: .
╧≡Φ Φ±∩εδⁿτεΓαφΦΦ Σε∞σφφ√⌡ Φ∞σφ ±δσΣ≤σ≥ Φ±∩εδⁿτεΓα≥ⁿ ΩαφεφΦ≈σ±ΩΦσ Φ∞σφα, ≥.Ω. φσΩε≥ε≡√σ ±Φ±≥σ∞√ φσ ∞επ≤≥ ε∩≡σΣσδΦ≥ⁿ ±ΦφεφΦ∞ ∩ε ßατσ Σαφφ√⌡ named.
╩≡ε∞σ Γ√°σ ∩σ≡σ≈Φ±δσφφ√⌡ ΣΦ±÷Φ∩δΦφ ∩≡ε≥εΩεδ ∩ετΓεδ σ≥ ε≥∩≡αΓΦ≥σδ■ Φ ∩εδ≤≈α≥σδ■ ∞σφ ≥ⁿ± ≡εδ ∞Φ Σ≡≤π ± Σ≡≤πε∞. ╧≡εΦ±⌡εΣΦ≥ ²≥ε ∩ε Ωε∞αφΣσ TURN.
─δ ε≥δαΣΩΦ ΦδΦ ∩≡εΓσ≡ΩΦ ±εσΣΦφσφΦ ∩ε SMTP ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ telnet. ─δ ²≥επε Γ±δσΣ τα αΣ≡σ±ε∞ ∞α°Φφ√ ±δσΣ≤σ≥ ΓΓσ±≥Φ φε∞σ≡ ∩ε≡≥α:
/users/local>telnet apollo.polyn.kiae.su 25
25 ∩ε≡≥ Φ±∩εδⁿτ≤σ≥± Γ Internet Σδ εß∞σφα ±εεß∙σφΦ ∞Φ ∩ε ∩≡ε≥εΩεδ≤ SMTP. ┬ Φφ≥σ≡αΩ≥ΦΓφε∞ ≡σµΦ∞σ ∩εδⁿτεΓα≥σδⁿ ±α∞ Φτεß≡αµασ≥ ΩδΦσφ≥α SMTP Φ ∞εµσ≥ ∩ε±∞ε≥≡σ≥ⁿ ≡σαΩ÷Φ■ ≤ΣαδσφφεΘ ∞α°Φφ√ φα σπε ΣσΘ±≥ΓΦ .
═αταΣ | ╤εΣσ≡µαφΦσ | ┬∩σ≡σΣ