curl ile HTTP proxy üzerinden posta gönderme
Göndermeyi denemeden önce CONNECT izinlerini, SMTP TLS'i ve proxy ile posta hizmetinin ayrı kimlik bilgilerini denetleyin.
Bir HTTP proxy, posta sunucusunun bağlantı noktasına CONNECT tüneli izin veriyorsa bir SMTP bağlantısını taşıyabilir. Bu izin, aynı proxy üzerinden bir web sayfasının yüklenip yüklenmemesinden daha önemlidir.
STARTTLS ile SMTP kullanan bir gönderim genel olarak şu biçimdedir:
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
Adresler yer tutucudur. Kullanma yetkiniz olan bir posta hizmeti ve gönderici kullanın. Kullanıcı seçeneği yalnızca kullanıcı adını içerdiğinde curl parolayı sorar. İleti dosyası uygun posta başlıkları, boş bir satır ve bir gövde gerektirir; yalnızca alıcı adresi değildir.
Ayrı bağlantılar ve oturum açmalar bekleyin
HTTP tünel seçeneği curl'un proxyden SMTP hedefine bir bağlantı istemesini sağlar. Proxy kendi kimlik bilgilerini curl'un proxy kimlik doğrulama seçenekleriyle talep edebilir. Ardından SMTP hizmeti posta kullanıcısını o bağlantı içinde doğrular.
--ssl-reqd bu SMTP URL'si için TLS yükseltmesini gerektirir. Amaçlanan posta ana makine adı için sertifika doğrulamasını açık tutun. Başarılı proxy kimlik doğrulaması, TLS'in veya posta oturumunun başarılı olacağını kanıtlamaz.
Birçok genel amaçlı HTTP proxy CONNECT bağlantı noktalarını kısıtlar. 587 numaralı bağlantı noktasının reddedilmesi kasıtlı bir ilke olabilir. İlgisiz bağlantı noktalarını tekrar tekrar denemek veya kısıtlamayı arıza olarak görmek yerine onaylı bir yol isteyin.
Posta hizmetleri yol çalıştıktan sonra gönderici izinlerini ve gönderim ilkelerini de uygulayabilir. SMTP yanıtını okuyun. Kimlik doğrulamadan sonra reddedilen bir ileti, SMTP karşılaması gelmeden önce reddedilen bir tünelden farklı bir düzeltme gerektirir.