Este artigo pressupõe que você usará o Ubuntu Server 20.04 ou 24.04.
Motivação
O Sendmail é conhecido por sua confiabilidade robusta e, por isso, é o agente de transferência de correio (MTA) preferido do WordOps. No entanto, sua configuração, especialmente durante tarefas como autenticação, criptografia e compilação, pode parecer bastante complexa, mesmo para administradores de sistema experientes. Mas não se preocupe! Com uma compreensão clara e passo a passo, esses processos podem, na verdade, ser bastante gerenciáveis. Vamos nos aprofundar e explorar como dominar essa configuração!
Alternativas
Se você quiser substituir o Sendmail, talvez por algo mais fácil, opções como Postfix, SSMTP ou Nullmailer são ótimas escolhas. No entanto, se você só precisa enviar e-mails pelo WordPress e ignorar todas as informações valiosas que vêm do seu servidor, é melhor não usar o Sendmail, FluentSMTP é provavelmente a melhor opção. Observe que, se você ainda precisar de um plug-in SMTP em seu site, para a funcionalidade de registro, por exemplo, podemos adicioná-lo, apesar de já estar configurado no servidor.
Instalar o Sendmail
O Sendmail faz parte do WordOps Stack e pode ser facilmente instalado com ele:
sudo stack install --sendmail
sudo apt install libsasl2-modules
Você também pode instalá-lo no Ubuntu com o APT:
sudo apt update
sudo apt install sendmail
sudo apt install libsasl2-modules
Instalação mailutils não é um requisito, mas proporciona ao sendmail mais compatibilidade em seu sistema:
sudo apt install mailutils
Criar o arquivo de autenticação
Crie um novo arquivo para informações de autenticação em /etc/mail/authinfoe adicione a seguinte linha ao arquivo, substituindo SEU_NOME_DE_USUÁRIO e SUA_CHAVE_API com suas credenciais reais do Transactional Email Provider (em alguns provedores, um único token pode ser usado como nome de usuário e senha):
AuthInfo:smtp.youremailprovider.com "U:YOUR_USERNAME" "P:YOUR_API_KEY"
Não há necessidade de definir o tipo de autenticação, pois o Sendmail sempre escolherá primeiro o método mais seguro, que será definido posteriormente como STARTLS.
Configurar o Sendmail para usar seu provedor de SMTP
Abra o arquivo de configuração do Sendmail localizado em /etc/mail/sendmail.mc. Primeiro, modifique a linha a seguir para definir o domínio que você deseja usar para e-mails enviados, substituindo yourdomain.com com seu domínio real:
Ubuntu 20.04
MASQUERADE_AS(`seudominio.com')dnl
Ubuntu 24.04
Nas versões mais recentes, o Sendmail removeu todas as configurações de mascaramento, portanto, você precisa adicionar todas as configurações necessárias, como as seguintes:
MASQUERADE_AS(`seudominio.com')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl
Em seguida (em qualquer versão), adicione as seguintes linhas para configurar o Sendmail para usar seu provedor como relé SMTP, logo após DEFINIÇÕES DE CORREIO, substituindo smtp.youremailprovider.com com seu URL SMTP real do provedor de e-mail transacional:
define(`SMART_HOST',`[smtp.postmarkapp.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl
Gerar o arquivo de banco de dados
Depois de salvar o informação automática gere o arquivo de banco de dados que o Sendmail usará:
sudo makemap hash /etc/mail/authinfo < /etc/mail/authinfo
Reconstrução da configuração do Sendmail
O Sendmail precisa compilar todas as macros que precisa usar, inclusive as que estão no arquivo que editamos anteriormente. O processo de compilação falhará se houver algum erro de sintaxe, portanto, verifique-o várias vezes e depois execute-o:
sudo m4 /etc/mail/sendmail.mc | sudo tee /etc/mail/sendmail.cf
Reiniciar o Sendmail
Reinicie o serviço Sendmail para aplicar as alterações:
sudo service sendmail reload
Teste o envio de um e-mail
Você pode testar sua configuração do Sendmail enviando um e-mail de teste, mas alguns provedores podem exigir o assunto e também o corpo do e-mail, portanto, vamos primeiro criar um arquivo chamado test_email.txt com o conteúdo abaixo:
Assunto: Terminal de envio de e-mail
Linha 1 do conteúdo do e-mail
Linha 2 do conteúdo do e-mail
Agora, envie um e-mail usando nosso arquivo como base:
sendmail re*******@*****le.com < test_email.txt
Substituir re*******@*****le.com com seu endereço de e-mail real.
Recursos:
- https://docs.wordops.net/how-to/setup-sendmail-with-sendgrid/
- https://postmarkapp.com/support/article/792-is-sendmail-configurable-through-postmark
- https://sourcedaddy.com/networking/modifying-sendmail-mc.html
- https://stackoverflow.com/questions/57410259/how-to-send-an-email-using-sendmail-command-in-linux
Deixe um comentário