Menghantar mel melalui proksi HTTP dengan curl
Semak kebenaran CONNECT, TLS SMTP dan kelayakan berasingan proksi serta perkhidmatan mel sebelum cuba menghantar.
Proksi HTTP boleh membawa sambungan SMTP jika ia membenarkan terowong CONNECT ke port pelayan mel. Kebenaran itu lebih penting daripada sama ada halaman web dimuatkan melalui proksi yang sama.
Penghantaran menggunakan SMTP dengan STARTTLS mempunyai bentuk umum ini:
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
Alamat-alamat itu ialah pemegang tempat. Gunakan perkhidmatan mel dan penghantar yang anda dibenarkan gunakan. curl meminta kata laluan apabila pilihan pengguna hanya mengandungi nama pengguna. Fail mesej memerlukan pengepala mel yang sesuai, satu baris kosong dan isi; ia bukan sekadar alamat penerima.
Jangkakan sambungan dan log masuk yang berasingan
Pilihan terowong HTTP menyebabkan curl meminta sambungan ke destinasi SMTP daripada proksi. Proksi mungkin memerlukan kelayakan tersendiri melalui pilihan pengesahan proksi curl. Perkhidmatan SMTP kemudian mengesahkan pengguna mel dalam sambungan itu.
--ssl-reqd memerlukan peningkatan kepada TLS untuk URL SMTP ini. Biarkan pengesahan sijil dihidupkan untuk nama hos mel yang dimaksudkan. Pengesahan proksi yang berjaya tidak membuktikan TLS atau log masuk mel akan berjaya.
Banyak proksi HTTP tujuan umum mengehadkan port CONNECT. Penolakan port 587 mungkin dasar yang disengajakan. Minta laluan yang diluluskan daripada berulang kali mencuba port yang tidak berkaitan atau menganggap had itu sebagai gangguan.
Perkhidmatan mel juga boleh menguatkuasakan kebenaran penghantar dan dasar penghantaran selepas laluan berfungsi. Baca respons SMTP. Mesej yang ditolak selepas pengesahan memerlukan pembetulan berbeza daripada terowong yang ditolak sebelum sapaan SMTP tiba.