IMHO, a maneira mais fácil de fazer isso é com o postfix. Você pode configurá-lo como um relé de saída de luz com estes comandos:
postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com
Desde que o servidor SMTP especificado em relayhost
não exija autenticação, permita a retransmissão ou seja um destino válido para o endereço do destinatário, isso funcionará.
O myorigin
parâmetro será o nome de domínio padrão. Portanto, se você enviar um email para foo, ele será enviado para foo@my.domainname.com. O email enviado pela barra do usuário será de bar@my.domainname.com.
Se você precisar se autenticar e desejar dar suporte ao TLS, execute também os seguintes comandos:
postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps
Então, /etc/postfix/sasl_password_maps
tenha este conteúdo:
/./ username:password
Todo o correio será enviado para o seu host de retransmissão com o nome de usuário e a senha especificados.