Skicka e-post via en HTTP-proxy med curl
Kontrollera CONNECT-behörigheter, SMTP-TLS och de separata inloggningsuppgifterna för proxyn och e-posttjänsten innan du försöker skicka.
En HTTP-proxy kan bära en SMTP-anslutning om den tillåter en CONNECT-tunnel till e-postserverns port. Den behörigheten spelar större roll än huruvida en webbsida laddas via samma proxy.
Ett utskick med SMTP och STARTTLS har den här allmänna formen:
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
Adresserna är platshållare. Använd en e-posttjänst och en avsändare som du är behörig att använda. curl frågar efter lösenordet när användaralternativet bara innehåller användarnamnet. Meddelandefilen behöver lämpliga e-postrubriker, en tom rad och en brödtext; den är inte bara mottagarens adress.
Förvänta dig separata anslutningar och inloggningar
HTTP-tunnelalternativet får curl att be proxyn om en anslutning till SMTP-målet. Proxyn kan kräva egna inloggningsuppgifter via curls alternativ för proxyautentisering. Därefter autentiserar SMTP-tjänsten e-postanvändaren inuti den anslutningen.
--ssl-reqd kräver TLS-uppgraderingen för denna SMTP-URL. Håll certifikatverifiering på för det avsedda e-postvärdnamnet. Lyckad proxyautentisering bevisar inte att TLS eller e-postinloggningen lyckas.
Många allmänna HTTP-proxyer begränsar CONNECT-portar. En avvisning av port 587 kan vara en medveten policy. Begär en godkänd väg i stället för att upprepat prova orelaterade portar eller behandla begränsningen som ett avbrott.
E-posttjänster kan också tillämpa avsändarbehörigheter och utskicksregler när vägen fungerar. Läs SMTP-svaret. Ett meddelande som avvisas efter autentisering kräver en annan åtgärd än en tunnel som avvisas innan SMTP-hälsningen anländer.