Net::SMTP 3.16 skjalar ongan SOCKS- ella fyrireinkaðan sokket-gerðarparameter. At pakka eini fílu-lýsing inn í arvaða new_from_fd koyrir ikki hansara SMTP-gerð. Ein góð SOCKS-samband gevur eitt streym, ikki eina byrjaða post-sessjón.

Fyri einfaldan SMTP, eisini seinni STARTTLS-uppstigning, talar servarin fyrst:

SOCKS: connection to smtp.example.net:587 succeeds

server: 220 smtp.example.net ready
client: EHLO client.example.net
server: 250-smtp.example.net
server: 250-STARTTLS
server: 250 AUTH ...

Hetta er skematiskt; boðaðar víðkanir eru ymiskar. Heilsanin kann sjálv røkka yvir fleiri linjur: ein svar-koda, ið ein bindistrikur fylgir, heldur svarinum fram, meðan seinasta linjan endar tað. Nýt alla heilsanina fyri EHLO. Annars kann klienturin lesa eitt gamalt 220, tá ið hann væntar 250 frá EHLO, og koma út av takti á einum heilum sambandi.

Implisitt TLS hevur aðra røðu: SOCKS-samband, TLS-handsala, síðani SMTP-heilsan inni í TLS. STARTTLS byrjar við lesiligu heilsanini og EHLO, uppstignar streymið og fær síðani førleikar aftur.

Opinberi gerðin viðger vanliga sokket-uppsetning, goymdar sambands-parametrar og heilsanarupplýsingar, fyrsta svar og EHLO við HELO-afturfalli, har tað hæmir:

use Net::SMTP;

my $smtp = Net::SMTP->new(
    'smtp.example.net',
    Port    => 587,
    Hello   => 'client.example.net',
    Timeout => 30,
) or die "SMTP connection failed: $@";

$smtp->starttls()
    or die "STARTTLS failed: " . $smtp->message;

Hetta opinbera dømið brúkar STARTTLS og setur ikki SOCKS upp. Servara-navnið velur post-málið; Hello gevur SMTP-identitetin hjá klientinum. Fyri implisitt TLS, brúka skjalfesta SSL-gerðarvalmøguleikan og portið hjá tænastuni.

SendHello => 0 darvar sjálvvirkandi EHLO/HELO, ikki lesingina av heilsanini ella byggingina av flutninginum. At kalla eina linju-lesara og síðani hello() er heldur ikki ein skjalfest avloysning fyri byrjan: Net::Cmd flokkar sínar lágu svar-lesarar sum vardar undirfloks-hættir.

Um SOCKS er kravt, vel ein klient við einum stuðlaðum SOCKS-interface ella varðveit eina samskipan móti tí ávísa Net::SMTP-útgávuni. Brúka røðuna omanfyri sum hennara sáttmála í staðin fyri at avrita privatar feltir. Ein serstakur TCP-adapterur krevur eisini viðviljaða TLS-identitetsviðgerð: skjalprógvið má eyðmerkja tað veruliga post-tænastuna, og proxy-innlatingar vera ókeypis frá SMTP-innskríving.

Skyldar greinar