Se você quer dizer que está enviando e-mail através de um servidor SMTP de terceiros (fornecido pelo seu ISP, por exemplo), pode instalar o ssmtp
, que substitui o Postfix / Sendmail, mas especializado para aquela tarefa precisa de enviar e-mail através de um SMTP remoto, e é assim muito mais fácil de configurar. Então você pode enviar e-mail com o comando mailx
, por exemplo:
echo "Mail." | mailx -s "Subject" [email protected]
EDITAR: O e-mail é um negócio muito complicado ... Algumas coisas para ter em mente:
Observe que o comando acima não especifica um endereço de remetente (, por exemplo, , os endereços que o destinatário verá no campo "De" do seu cliente de e-mail). Por padrão, o endereço do remetente é seu nome de login em sua máquina local, seguido por @
, seguido pelo nome completo do host da máquina local. Por exemplo, na minha máquina, o nome de login é firas
e o nome do host é nomo
:
firas@nomo ~ % whoami
firas
firas@nomo ~ % hostname -f
nomo
Então, quando eu enviar um e-mail com o comando acima, o endereço do remetente será firas@nomo
, como pode ser visto em mail.log
:
firas@nomo ~ % tail -n 3 /var/log/mail.log
Jun 9 20:37:46 nomo sSMTP[2203]: Creating SSL connection to host
Jun 9 20:37:48 nomo sSMTP[2203]: SSL connection using RSA_AES_128_CBC_SHA1
Jun 9 20:37:50 nomo sSMTP[2203]: Sent mail for firas@nomo (221 2.0.0 esmtp3.es.uci.edu closing connection) uid=1000 username=firas outbytes=364
A grande maioria dos servidores se recusará a retransmitir esse e-mail (como medida anti-spam), porque o nome de domínio nomo
não é um domínio válido. Felizmente, há uma opção em ssmtp.conf
que permite especificar um domínio arbitrário, que sSMTP
usará ao enviar mensagens. Ou seja, essa é a opção rewritedomain
, portanto, se eu tiver isso no meu ssmtp.conf
:
rewriteDomain=fkraiem.org
o endereço do remetente será [email protected]
.
Normalmente, o acima deve ser suficiente (ou seja, desde que o endereço do remetente tenha um domínio válido, o servidor deve retransmitir o seu e-mail). No entanto, alguns provedores de e-mail são extremamente zelosos e só permitem que você use o endereço de e-mail registrado. Isso significa que, além de alterar o nome de domínio como acima, você pode precisar alterar seu nome de login na máquina local ou registrar um novo endereço com seu provedor (se ele permitir), para que o endereço final corresponda ao seu nome. endereço registrado.
Outra maneira de especificar um endereço de remetente arbitrário é definir a opção fromlineoverride
de ssmtp.conf
to YES
e, em seguida, usar a opção -a
de mailx
:
echo "Mail." | mailx -s "Subject" -a 'From: [email protected]' [email protected]
No entanto, isso não é padrão e pode não funcionar em sistemas operacionais diferentes do Ubuntu (e de outros sistemas baseados em GNU). Também é possível usar outros clientes mais sofisticados, como mutt
.