Como eu mencionei no meu comentário, há realmente várias perguntas sendo feitas. Eu vou falar um pouco sobre a questão da porta 25.
A porta 25 é a porta SMTP padrão sem criptografia e é bastante comum que os administradores de sistema configurem o firewall de uma organização para bloquear o tráfego de saída nessa porta. Isso é feito por dois motivos principalmente:
- Para impedir que malwares, softwares desonestos, spammers etc. enviem e-mails para pessoas nefastas fins.
- Para impedir que usuários legítimos enviem e-mails por um canal não criptografado.
O segundo pressupõe que o email enviado por uma conexão criptografada (por exemplo, usando SSL / TLS) seja permitido pelos administradores para usuários autorizados. A porta padrão para o SMTP de saída seguro é 587. Se no seu caso isso for permitido, isso resolve o problema. Estabeleça uma conexão criptografada com seu servidor de retransmissão SMTP pela porta 587. Você terá que descobrir como fazer isso em seu código (ou pergunte como separadamente / em algum outro lugar).
Infelizmente, o número 1 geralmente substitui o item 2 e até mesmo as comunicações por e-mail protegidas não são permitidas pelos administradores. Em caso afirmativo, verifique se o seu provedor de email (quem mantém a retransmissão SMTP) aceita tráfego em portas alternativas. Por exemplo, alguns darão a opção de usar a porta 10025. Como alternativa, há provedores de email de terceiros que podem encaminhar emails. Ou seja, eles aceitam e-mail na porta 10025 e simplesmente o encaminham para a retransmissão de seu provedor principal na porta 25. Aqui está um exemplo, primeiro em que minha pesquisa apareceu: " Serviço SMTP de porta alternativa ". Este tem uma taxa. Você pode encontrar alguém oferecendo isso de graça (para baixo volume, pelo menos).
Ou talvez seu administrador permita exceções especiais à política. Por exemplo, se você trabalha para uma empresa e demonstra que o acesso é crítico para os negócios, eles podem permitir o tráfego em 25/587 para um número limitado de hosts de origem e / ou para um endereço de retransmissão SMTP específico.
Se você ainda não obtiver êxito, sua próxima melhor aposta provavelmente será o tunelamento SSH. Você precisará de acesso a alguma máquina fora do seu firewall que execute um servidor SSH (por exemplo, sshd). Em seguida, você pode configurar um tipo especial de conexão que escuta em uma porta e encaminha a saída para outra porta em outro host em algum lugar. Não vou entrar em detalhes sobre como fazer isso porque já existem muitas descrições online.
Atualização: Devo acrescentar que se você usar uma porta alternativa ou configurar um túnel SSH sem discutir com seu administrador e descobrir mais tarde, há uma chance de eles não parecerem muito gentis com ele. Se eles não estão felizes, você pode beijar essa opção até logo. Por outro lado, se você discutir isso com eles antes do tempo, eles podem proibi-lo de imediato. Você terá que pesar suas opções. Contanto que o que você fizer não tenha impacto negativo na segurança, um administrador razoável concordará com isso. Eles não são todos razoáveis, no entanto. :)