E-Mail über einen HTTP-Proxy mit curl senden
Prüfen Sie CONNECT-Berechtigungen, SMTP-TLS und die getrennten Zugangsdaten für Proxy und Maildienst, bevor Sie einen Versand versuchen.
Ein HTTP-Proxy kann eine SMTP-Verbindung übertragen, wenn er einen CONNECT-Tunnel zum Port des Mailservers erlaubt. Diese Berechtigung ist wichtiger als die Frage, ob eine Webseite über denselben Proxy lädt.
Ein Versand per SMTP mit STARTTLS hat diese allgemeine Form:
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
Die Adressen sind Platzhalter. Verwenden Sie einen Maildienst und einen Absender, für die Sie berechtigt sind. curl fragt nach dem Passwort, wenn die Benutzeroption nur den Benutzernamen enthält. Die Nachrichtendatei braucht passende Mail-Header, eine Leerzeile und einen Textkörper; sie ist nicht nur die Empfängeradresse.
Rechnen Sie mit getrennten Verbindungen und Anmeldungen
Die HTTP-Tunnel-Option veranlasst curl, den Proxy um eine Verbindung zum SMTP-Ziel zu bitten. Der Proxy kann eigene Zugangsdaten über curls Proxy-Authentifizierungsoptionen verlangen. Der SMTP-Dienst authentifiziert dann den Mailbenutzer innerhalb dieser Verbindung.
--ssl-reqd erfordert die TLS-Aktualisierung für diese SMTP-URL. Lassen Sie die Zertifikatsprüfung für den vorgesehenen Mail-Hostnamen aktiviert. Eine erfolgreiche Proxy-Authentifizierung belegt nicht, dass TLS oder die Mail-Anmeldung gelingen.
Viele Allzweck-HTTP-Proxys beschränken CONNECT-Ports. Eine Ablehnung von Port 587 kann eine bewusste Richtlinie sein. Fordern Sie eine genehmigte Route an, statt wiederholt unpassende Ports zu probieren oder die Beschränkung als Ausfall zu behandeln.
Maildienste können nach funktionierender Route auch Absenderberechtigungen und Einlieferungsrichtlinien durchsetzen. Lesen Sie die SMTP-Antwort. Eine nach der Authentifizierung abgelehnte Nachricht erfordert eine andere Korrektur als ein Tunnel, der abgelehnt wird, bevor die SMTP-Begrüßung eintrifft.