Um proxy HTTP pode transportar uma ligação SMTP se permitir um túnel CONNECT para a porta do servidor de correio. Essa permissão importa mais do que saber se uma página web carrega através do mesmo proxy.

Um envio com SMTP e STARTTLS tem esta forma geral:

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

Os endereços são marcadores de posição. Use um serviço de correio e um remetente para os quais está autorizado. O curl pede a palavra-passe quando a opção de utilizador contém apenas o nome de utilizador. O ficheiro da mensagem precisa de cabeçalhos de correio adequados, uma linha em branco e um corpo; não é apenas o endereço do destinatário.

Espere ligações e inícios de sessão separados

A opção de túnel HTTP faz com que o curl peça ao proxy uma ligação ao destino SMTP. O proxy pode exigir as suas próprias credenciais através das opções de autenticação de proxy do curl. Depois, o serviço SMTP autentica o utilizador de correio dentro dessa ligação.

--ssl-reqd exige a atualização para TLS para este URL de SMTP. Mantenha a verificação de certificados ativa para o nome de anfitrião de correio previsto. Uma autenticação de proxy bem-sucedida não garante que o TLS ou o início de sessão no correio tenham êxito.

Muitos proxies HTTP de uso geral restringem portas CONNECT. Uma recusa da porta 587 pode ser uma política deliberada. Peça uma rota aprovada em vez de tentar repetidamente portas não relacionadas ou de tratar a restrição como uma avaria.

Os serviços de correio também podem aplicar permissões de remetente e políticas de submissão depois de a rota funcionar. Leia a resposta SMTP. Uma mensagem rejeitada após autenticação exige uma correção diferente de um túnel rejeitado antes de a saudação SMTP chegar.

Artigos relacionados