Configurando MTA sSMTP

Existem situações que precisamos enviar e-mail para alertar sobre uma determinada ação tomada por um script, alertas de sistemas ou uma ferramenta de monitoramento. Pensando nisso, uma alternativa ao Postfix é o sSMTP.

yum -y install ssmtp mailx

O pacote mailx é o que utilizaremos para enviar e-mail via terminal.

Depois de instalado vamos alterar o MTA padrão do sistema! O CentOS 7 já vem com o Postfix instalado, consequentemente ele é o MTA padrão. Para alterar é bem simples, rode o comando abaixo e selecione o número correspondente ao sSMTP, o escolhido ficará com um sinal de +

alternatives --config mta

Definido o MTA padrão vamos editar o arquivo de configuração do sSMTP. Neste arquivo não existe muito segredo, ele é bem fácil de compreender. Se for usar uma conta do Gmail basta alterar os campos em negrito para a conta correspondente.

vim /etc/ssmtp/ssmtp.conf

# The user that gets all the mails (UID < 1000, usually the admin)

root=username@gmail.com


# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable

# See also https://support.google.com/mail/answer/78799

mailhub=smtp.gmail.com:587


# The address where the mail appears to come from for user authentication.

rewriteDomain=gmail.com


# The full hostname.  Must be correctly formed, fully qualified domain name or GMail will reject connection.

hostname=yourlocalhost.yourlocaldomain.tld


# Use SSL/TLS before starting negotiation

TLS_CA_FILE=/etc/pki/tls/certs/ca-bundle.crt

UseTLS=Yes

UseSTARTTLS=Yes


# Username/Password

AuthUser=username

AuthPass=password

AuthMethod=LOGIN


# Email 'From header's can override the default domain?

FromLineOverride=yes

Outro arquivo de configuração que precisamos alterar é o que contém os apelidos (aliases) das contas. Neste arquivo ele mostra como deve ser configurado a conta desejada. Já deixei em negrito os campos que precisam ser alterados! 

vim /etc/ssmtp/revaliases

# sSMTP aliases

# Format:       local_account:outgoing_address:mailhub

#

# Example: root:your_login@your.domain:mailhub.your.domain[:port]

# where [:port] is an optional port number that defaults to 25.

root:user@gmail.com:smtp.gmail.com:587

mainuser:user@gmail.com:smtp.gmail.com:587