Net::SMTP 3.16 د SOCKS یا مخکې نښلول شوي ساکټ د جوړوونکي پیرامیټر مستند نه کوي. د فایل تشریح د میراثي new_from_fd سره تړل د هغې SMTP جوړوونکی نه چلوي. بریالۍ SOCKS اړیکه یو بهیر ورکوي، نه پیل شوې برېښنالیک ناسته.

د ساده SMTP لپاره، په شمول د وروسته STARTTLS لوړول، سرور لومړی خبرې کوي:

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 ...

دا شماتیک دی؛ اعلان شوي غزونې توپیر لري. خود سلام کېدای شي څو کرښو ته وغځیږي: د ځواب کوډ چې وروسته یې د تړونکې کرښې وي ځواب ته دوام ورکوي، خو وروستۍ کرښه یې پای ته رسوي. د EHLO دمخه ټول سلام مصرف کړئ. که نه، کلاینټ کېدای شي زوړ 220 ولولي کله چې د EHLO 250 ته انتظار لري او په روغه اړیکه کې له تال ووځي.

پټ TLS بل ترتیب لري: SOCKS اړیکه، TLS لاس ورکول، بیا د TLS دننه SMTP سلام. STARTTLS د لوستلو وړ سلام او EHLO سره پیل کیږي، بهیر لوړوي او وروسته بیا وړتیاوې ترلاسه کوي.

عامه جوړوونکی معمولاً د ساکټ ترتیب، خوندي شوي اړیکې پیرامیټرونه او د سلام معلومات، لومړني ځواب او د EHLO سره د HELO بیرته راګرځېدل هغه چې مناسب وي سمبالوي:

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;

دا عامه بېلګه STARTTLS کاروي او SOCKS نه ترتیبوي. د سرور نوم د برېښنالیک منزل ټاکي؛ Hello د کلاینټ SMTP هویت وړاندې کوي. د پټ TLS لپاره مستند SSL جوړوونکی انتخاب او د خدمت پورټ وکاروئ.

SendHello => 0 اتوماتیک EHLO/HELO ځپي، نه د سلام لوستل یا د لېږد جوړول. د کرښې لوستونکي غوښتل او بیا hello() غوښتل هم د پیل مستند بدیل نه دی: Net::Cmd خپل ټیټې کچې ځواب لوستونکي د ساتل شوو فرعي طبقې میتودونو په توګه طبقه بندي کوي.

که SOCKS اجباري وي، د ملاتړ شوي SOCKS انٹرفیس لرونکی کلاینټ غوره کړئ یا د ځانګړي Net::SMTP نسخې په وړاندې ادغام وساتئ. د شخصي ډګرونو د کاپي کولو پر ځای پورتنی ترتیب د هغې تړون په توګه وکاروئ. جلا TCP اډاپټر هم د TLS هویت پوهاوی غواړي: سند باید ریښتیني برېښنالیک خدمت وپېژني، او د پراکسي اعتبارونه د SMTP ننوتلو څخه جلا پاتې کیږي.

اړوندې مقالې