Net::SMTP 3.16 huet keen virugeschaltete SOCKS-Konstrukter
Net::SMTP 3.16 dokumentéiert keng Konstrukteroptioun fir e virugeschalteten Socket. Halt d'SMTP-Begréissung, EHLO an d'TLS-Reiefolleg intakt, wann Dir eng Proxy-Transportintegratioun auswielt.
Net::SMTP 3.16 dokumentéiert keen SOCKS- oder virugeschaltete Socket-Konstrukterparameter. Eng Dateideskriptor mat deem geierfte new_from_fd ze verschäerten, féiert säin SMTP-Konstrukter net aus. Eng erfollegräich SOCKS-Verbindung liwwert e Stroum, net eng initialiséiert Maile-Sessioun.
Fir einfachen SMTP, och eng méi spéit STARTTLS-Erhéijung, schwätzt de Server als éischt:
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 ...Dëst ass schematesch; d'annoncéiert Erweiderunge variéieren. D'Begréissung kann sech selwer iwwer méi Linnen erstrecken: en Äntwertcode gefollegt vun engem Bindestréch setzt d'Äntwert virun, well seng lescht Linn se oofschléisst. Konsuméier déi ganz Begréissung virum EHLO. Soss kann de Client en ale 220 liesen, wärend hien dem EHLO seng 250 erwaart, a bei enger gesonder Verbindung aus dem Takt kommen.
Impliziten TLS huet eng aner Reiefolleg: SOCKS-Verbindung, TLS-Handshake, duerno SMTP-Begréissung bannent TLS. STARTTLS fänkt mat der liesbarer Begréissung an EHLO un, erhéicht de Stroum a kritt duerno nei Fäegkeeten.
Den ëffentleche Konstrukter behandelt normalerweis d'Socketkonfiguratioun, gespäichert Verbindungsparameter an d'Begréissungsinformatioun, déi éischt Äntwert an EHLO mat HELO-Réckfall, wou et passt:
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;Dëst ëffentlecht Beispill benotzt STARTTLS a konfiguréiert keen SOCKS. Den Servernumm wielt d'Mailzil; Hello liwwert d'SMTP-Identitéit vum Client. Fir impliziten TLS benotzt d'dokumentéiert SSL Konstrukteroptioun an de Port vum Service.
SendHello => 0 ënnerdréckt automateschen EHLO/HELO, net d'Liesen vun der Begréissung oder den Opbau vum Transport. Eng Linn liesen an duerno hello() opzeruffen ass och keng dokumentéiert Ersatzléisung fir d'Initialiséierung: Net::Cmd klassifizéiert seng Äntwertlieser op niddreger Stuf als geschützt Ënnerklassmethoden.
Wann SOCKS obligatoresch ass, wielt e Client mat enger ënnerstëtzter SOCKS-Schnittstell oder halt eng Integratioun géint déi spezifesch Net::SMTP-Versioun. Benotzt d'Reiefolleg hei uewen als säi Kontrakt amplaz privat Felder ze kopéieren. En eegene TCP-Adapter brauch och bewosst TLS-Identitéitsbehandlung: D'Zertifikat muss de richtege Maile-Service identifizéieren, an d'Proxy-Accreditioune bleiwen getrennt vum SMTP-Login.