Pasta sūtīšana caur HTTP starpniekserveri ar curl
Pirms sūtīšanas mēģinājuma pārbaudiet CONNECT atļaujas, SMTP TLS un atsevišķus starpniekservera un pasta pakalpojuma akreditācijas datus.
HTTP starpniekserveris var pārvadīt SMTP savienojumu, ja tas atļauj CONNECT tuneli uz pasta servera portu. Šī atļauja ir svarīgāka par to, vai tīmekļa lapa ielādējas caur to pašu starpniekserveri.
Sūtījumam ar SMTP un STARTTLS ir šāda vispārīga forma:
curl --proxy http://203.0.113.10:8080 --proxytunnel \
--url smtp://mail.example.com:587 --ssl-reqd \
--user mail-user \
--mail-from [email protected] \
--mail-rcpt [email protected] \
--upload-file message.eml
Adreses ir vietturi. Izmantojiet pasta pakalpojumu un sūtītāju, uz kuru jums ir atļauja. curl jautā paroli, kad lietotāja opcija satur tikai lietotājvārdu. Ziņojuma failam nepieciešami atbilstoši pasta galvenji, tukša rinda un pamatteksts; tas nav tikai saņēmēja adrese.
Gaidiet atsevišķus savienojumus un pieteikšanās
HTTP tuneļa opcija liek curl pieprasīt starpniekserverim savienojumu ar SMTP galamērķi. Starpniekserveris var pieprasīt savus akreditācijas datus, izmantojot curl starpniekservera autentifikācijas opcijas. Pēc tam SMTP pakalpojums autentificē pasta lietotāju šajā savienojumā.
--ssl-reqd prasa TLS jauninājumu šim SMTP URL. Saglabājiet sertifikātu pārbaudi ieslēgtu paredzētajam pasta resursdatora nosaukumam. Veiksmīga starpniekservera autentifikācija nepierāda, ka TLS vai pieteikšanās pastā izdosies.
Daudzi vispārēji HTTP starpniekserveri ierobežo CONNECT portus. 587. porta noraidījums var būt apzināta politika. Pieprasiet apstiprinātu maršrutu, nevis atkārtoti mēģiniet nesaistītus portus vai uzskatiet ierobežojumu par kļūmi.
Pasta pakalpojumi var arī piemērot sūtītāja atļaujas un sūtīšanas noteikumus pēc tam, kad maršruts darbojas. Lasiet SMTP atbildi. Ziņojums, kas noraidīts pēc autentifikācijas, prasa citu risinājumu nekā tunelis, kas noraidīts pirms SMTP sveiciena pienākšanas.