MSMTP com OAuth2: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
{{DISPLAYTITLE:MSMTP com OAuth2 no Debian 12}} | |||
__TOC__ | |||
[[Arquivo:Msmtp.jpg|nenhum|miniaturadaimagem]] | |||
== Objetivo == | |||
O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa '''msmtp''' para envio de mensagens utilizando a autenticação por '''OAuth2'''. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse [[Template Servidor Debian|'''artigo''']] para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação. | O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa '''msmtp''' para envio de mensagens utilizando a autenticação por '''OAuth2'''. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse [[Template Servidor Debian|'''artigo''']] para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação. | ||
Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá. | Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá. | ||
====== | == Motivação == | ||
O Google já vem de longa data fazendo mudanças para remover a velha autenticação de apps usando user e password tradicionais. Mas o que isso pode impactar para nós administradores de sistemas, que cuidamos de diversos servidores? Pois bem, se você é como eu e configura seus sistemas para enviar notificações com logs, relatórios, alertas, etc por e-mail usando a técnica de autenticação por usuário e senha de apps do Google, isso vai acabar conforme essa notícia oficial do Google '''[https://workspaceupdates.googleblog.com/2023/09/winding-down-google-sync-and-less-secure-apps-support.html aqui]'''. | |||
== Exemplos da configuração antiga e nova == | |||
Antes de iniciarmos, apenas para termos uma ideia de como é a configuração legada e como será a nova: | |||
Abaixo a configuração legada usando '''user''' e '''password''': | |||
defaults | |||
port 587 | |||
tls on | |||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | |||
account ISPUP | |||
protocol smtp | |||
host smtp.gmail.com | |||
from [email protected] | |||
auth login | |||
user [email protected] | |||
password xxctxxxxszxxxxzs | |||
account default : ISPUP | |||
Essa outra abaixo já está usando o '''OAuth2''':<pre> | |||
defaults | |||
host smtp.gmail.com | |||
port 587 | |||
protocol smtp | |||
tls on | |||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | |||
account ISPUP | |||
auth oauthbearer | |||
from [email protected] | |||
user [email protected] | |||
passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json | |||
account default : ISPUP | |||
</pre>Bem isso foi apenas para mostrar visualmente as diferenças. Seguiremos agora com a mão na massa. Para esse artigo estarei usando o Debian 12 (Bookworm) mas é bem simples de replicar em outras distribuições GNU/Linux. | |||
== Criando acesso API no Google Cloud == | |||
Para que possamos usar esse tipo de autenticação, vamos precisar criar um projeto no Google Cloud, uma aplicação e gerar as credenciais de acesso para essa aplicação. Se você já possui essas informações então só pular essa parte. Para essa tarefa acesse esse '''[https://console.cloud.google.com/apis/credentials link]''' e vamos seguir as telas abaixo: | |||
Inicie fazendo a autenticação com a conta de e-mail que você irá administrar seu Google Cloud: | |||
[[Arquivo:Google1.png|nenhum|commoldura]] | |||
Precisa concordar com os termos para seguir em frente: | |||
[[Arquivo:Google2.png|nenhum|commoldura]] | |||
Nessa tela vamos criar nosso projeto, então siga a seta. | |||
[[Arquivo:Google3.png|nenhum|miniaturadaimagem|1631x1631px]] | |||
Vamos dar um nome ao projeto, no meu exemplo chamei de ISPUP e clicar em criar: | |||
[[Arquivo:Google4.png|nenhum|miniaturadaimagem|1633x1633px]] | |||
Após criar o projeto precisamos configurar as permissões em '''CONFIGURAR TELA DE CONSENTIMENTO''': | |||
[[Arquivo:Google5.png|nenhum|miniaturadaimagem|1632x1632px]]Vamos selecionar para tipo de uso externo e clicar em criar: | |||
[[Arquivo:Google6.png|nenhum|miniaturadaimagem|1632x1632px]] | |||
Nessa tela vamos informar o app que vamos criar, dei o nome de '''msmtp''' mesmo, defini o e-mail de contato: | |||
[[Arquivo:Google7.png|nenhum|miniaturadaimagem|1631x1631px]] | |||
Ainda na mesma tela mais abaixo vamos adicionar um domínio autorizado que se chama '''oauth2.dance'''. Esse é o domínio usado pelo script do Google para nos gerar os tokens: | |||
[[Arquivo:Google8.png|nenhum|miniaturadaimagem|1160x1160px]] | |||
Na tela de escopo só clicar em salvar e continuar: | |||
[[Arquivo:Google9.png|nenhum|miniaturadaimagem|1588x1588px]]Não vamos adicionar um usuário de teste e clicamos em salvar e continuar: | |||
[[Arquivo:Google10.png|nenhum|miniaturadaimagem|1589x1589px]] | |||
Clique em voltar para o Painel: | |||
[[Arquivo:Google11.png|nenhum|miniaturadaimagem|1592x1592px]] | |||
Agora vamos colocar em produção clicando em '''PUBLICAR APLICATIVO''': | |||
[[Arquivo:Google12.png|nenhum|miniaturadaimagem|1591x1591px]] | |||
Na sequência clique em confirmar para que seja publicado: | |||
[[Arquivo:Google13.png|nenhum|commoldura]] | |||
Agora que já publicamos nosso app '''msmtp''', vamos criar as credenciais de acesso dele: | |||
[[Arquivo:Google14.png|nenhum|miniaturadaimagem|1576x1576px]] | |||
Em credenciais vamos clicar em criar credenciais e escolher a opção '''ID do cliente OAuth''': | |||
[[Arquivo:Google15.png|nenhum|miniaturadaimagem|1578x1578px]] | |||
Nessa tela vamos selecionar '''Aplicativo da Web''': | |||
[[Arquivo:Google16.png|nenhum|miniaturadaimagem|1580x1580px]] | |||
Vamos dar um nome para ele, deixei como '''msmtp''' mesmo e precisamos adicionar na '''URI de redirecionamento autorizados''' o endereço '''<nowiki>https://oauth2.dance/</nowiki>''' e em seguida clicar em criar: | |||
[[Arquivo:Google17.png|nenhum|miniaturadaimagem|1583x1583px]] | |||
Na próxima tela será exibido o '''ID do cliente''' e a '''Chave secreta do cliente'''. Copie esses 2 dados porque vamos precisar lá na frente e tome cuidado com eles, para que não sejam usados por pessoas não autorizadas: | |||
[[Arquivo:Google18.png|nenhum|commoldura]]Terminamos aqui a configuração do nosso '''Google Cloud'''. Agora seguimos com a instalação do que precisaremos no Debian que será monitorado. | |||
== Instalação e configuração == | |||
Agora que já temos nossas credenciais vamos precisar gerar nossos '''tokens de acesso''' e para isso vamos precisar do script em python do Google chamado '''oauth2.py''' que pode ser baixado do '''Github''' '''[https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py aqui]'''. | |||
Vamos jogar esse script em '''/root/.config/msmtp''' e setar a permissão de execução para ele:<pre> | |||
# mkdir -p /root/.config/msmtp | |||
# chmod +x /root/.config/msmtp/oauth2.py | |||
</pre>Para pegarmos nossos tokens de acesso, vamos executar esse comando abaixo passando como parâmetros o '''client-id''' e o '''client-secret''' que salvamos lá do Google Cloud. Vamos executar esse comando assim: | |||
# /root/.config/msmtp/oauth2.py --user=seu_email@dominio --client_id=XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com --client_secret=XXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXX --generate_oauth2_token | |||
Assim que você rodar esse comando o script vai te devolver um link para que você acesse pelo seu navegador e ficará aguardando um código. Siga os passos via web e no final você receberá um código. | |||
To authorize token, visit this url and follow the directions: | |||
<nowiki>https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=328XXXXXXXX-afmXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com&prompt=consent&redirect_uri=https%3A%2F%2Foauth2.dance%2F&response_type=code&scope=https%3A%2F%2Fmail.google.com%2F</nowiki> | |||
Enter verification code: | |||
Como pode ver acima ele aguarda um '''código de verificação'''. Após acessar o link no final aparecerá algo assim abaixo. Basta clicar para copiar o código e colar acima: | |||
[[Arquivo:Dance.png|nenhum|commoldura]] | |||
Após passar o código de verificação e dar enter, o script vai devolver duas informações importantes o '''Access Token''' e o '''Refresh Token'''. Anote eles também porque vamos utilizar na configuração final do msmtp. Sim eles são gigantescos: | |||
Refresh Token: 1//XXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_Pqg8 | |||
Access Token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |||
Access Token Expiration Seconds: 3599 | |||
Agora que temos as 5 informações importantes vamos construir nosso arquivo .json contendo os dados de acesso pro msmtp: | |||
* E-mail usado como user. | |||
* Client-id. | |||
* Client-secret. | |||
* Access Token. | |||
* Refresh Token. | |||
Vamos criar o seguinte arquivo como exemplo '''/root/.config/msmtp/ispup.json''' e nele adicionaremos nossos dados. Altere apenas os 5 dados acima conforme a sua instalação: | |||
{"scope": "<nowiki>https://mail.google.com/</nowiki>", | |||
"user": "[email protected]", | |||
"client_id": "seu_client-id", | |||
"client_secret": "seu_client-secret", | |||
"token_uri": "<nowiki>https://accounts.google.com/o/oauth2/token</nowiki>", | |||
"auth_uri": "<nowiki>https://accounts.google.com/o/oauth2/auth</nowiki>", | |||
"auth_provider_x509_cert_url": "<nowiki>https://www.googleapis.com/oauth2/v1/certs</nowiki>", | |||
"access_token": "seu_access_token", | |||
"expires_at": 3600, | |||
"refresh_token": "seu_refresh_token"} | |||
# chown root: /root/.config/msmtp/ispup.json | |||
# chmod 640 /root/.config/msmtp/ispup.json | |||
Coloque os dados dentro das aspas. | |||
Vamos precisar de mais um script em python chamado '''getmail-gmail-xoauth-tokens''' que pode ser baixado '''[https://github.com/getmail6/getmail6/blob/master/getmail-gmail-xoauth-tokens daqui]'''. Vamos colocá-lo junto com os outros arquivos e setar a permissão de execução nele: | |||
# chmod +x /root/.config/msmtp/getmail-gmail-xoauth-tokens | |||
Agora que temos todos os arquivos que precisamos faremos a instalação do '''msmtp''' e configuração deste: | |||
# apt install msmtp msmtp-mta | |||
Após a instalação vamos precisar apenas criar o arquivo /root/.msmtprc com o conteúdo de exemplo abaixo, conforme mostrei no início do artigo: | |||
defaults | |||
host smtp.gmail.com | |||
port 587 | |||
protocol smtp | |||
tls on | |||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | |||
account ISPUP | |||
auth oauthbearer | |||
from [email protected] | |||
user [email protected] | |||
passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json | |||
account default : ISPUP | |||
Altere os parâmetros '''from''', '''user''' e o nome do arquivo '''.json''' conforme você os tenha criado. O '''msmtp''' irá usar o '''getmail-gmail-xoauth-token''' que lerá o '''ispup.json''' onde estão as credenciais e tokens para autenticar. | |||
Para testar se vai funcionar é bem simples, instale o pacote '''bsd-mailx''', copie e cole no terminal os comandos abaixo e veja se vai receber o e-mail. | |||
# apt install bsd-mailx | |||
# mailx -s TESTE_ENVIO email@dominio <<EOF | |||
Teste de envio de e-mail pelo msmtp com oauth2 | |||
EOF | |||
Para replicar em outros servidores basta instalar o '''msmtp''' e '''msmtp-mta''' e copiar a estrutura abaixo que já vai estar com as credenciais e tokens: | |||
* /root/.config/msmtp/* | |||
* /root/.msmtprc | |||
Essa documentação foi útil? Compartilhe, divulgue e ajude outras pessoas. Meus contatos podem ser vistos [[Sobre mim|aqui]]. | |||
[[Categoria:Artigos Técnicos]] |
Edição atual tal como às 01h14min de 18 de maio de 2024
Objetivo
O objetivo deste artigo é ajudar os administradores de sistemas que usam Debian, a configurar o programa msmtp para envio de mensagens utilizando a autenticação por OAuth2. Também pode ser configurado em outras distribuições GNU/Linux bastando seguir o mesmo raciocínio. Quem já visitou esse artigo para fazer a configuração básica de um servidor Debian, vai poder usar esse artigo aqui para modificar a forma de autenticação.
Para quem não sabe o msmtp é um programa que vem em diversas distribuições GNU/Linux e ela tem a função de ser um sender de e-mail, ou seja, você não precisa de ter um MTA server configurado em seu servidor para enviar alertas, logs, etc por e-mail, basta configurar por exemplo uma conta Gmail nele e quando algum programa seu no servidor enviar uma mensagem, este se conectará ao Gmail e irá enviar a mensagem por lá.
Motivação
O Google já vem de longa data fazendo mudanças para remover a velha autenticação de apps usando user e password tradicionais. Mas o que isso pode impactar para nós administradores de sistemas, que cuidamos de diversos servidores? Pois bem, se você é como eu e configura seus sistemas para enviar notificações com logs, relatórios, alertas, etc por e-mail usando a técnica de autenticação por usuário e senha de apps do Google, isso vai acabar conforme essa notícia oficial do Google aqui.
Exemplos da configuração antiga e nova
Antes de iniciarmos, apenas para termos uma ideia de como é a configuração legada e como será a nova:
Abaixo a configuração legada usando user e password:
defaults port 587 tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account ISPUP protocol smtp host smtp.gmail.com from [email protected] auth login user [email protected] password xxctxxxxszxxxxzs account default : ISPUP
Essa outra abaixo já está usando o OAuth2:
defaults host smtp.gmail.com port 587 protocol smtp tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account ISPUP auth oauthbearer from [email protected] user [email protected] passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json account default : ISPUP
Bem isso foi apenas para mostrar visualmente as diferenças. Seguiremos agora com a mão na massa. Para esse artigo estarei usando o Debian 12 (Bookworm) mas é bem simples de replicar em outras distribuições GNU/Linux.
Criando acesso API no Google Cloud
Para que possamos usar esse tipo de autenticação, vamos precisar criar um projeto no Google Cloud, uma aplicação e gerar as credenciais de acesso para essa aplicação. Se você já possui essas informações então só pular essa parte. Para essa tarefa acesse esse link e vamos seguir as telas abaixo:
Inicie fazendo a autenticação com a conta de e-mail que você irá administrar seu Google Cloud:
Precisa concordar com os termos para seguir em frente:
Nessa tela vamos criar nosso projeto, então siga a seta.
Vamos dar um nome ao projeto, no meu exemplo chamei de ISPUP e clicar em criar:
Após criar o projeto precisamos configurar as permissões em CONFIGURAR TELA DE CONSENTIMENTO:
Vamos selecionar para tipo de uso externo e clicar em criar:
Nessa tela vamos informar o app que vamos criar, dei o nome de msmtp mesmo, defini o e-mail de contato:
Ainda na mesma tela mais abaixo vamos adicionar um domínio autorizado que se chama oauth2.dance. Esse é o domínio usado pelo script do Google para nos gerar os tokens:
Na tela de escopo só clicar em salvar e continuar:
Não vamos adicionar um usuário de teste e clicamos em salvar e continuar:
Clique em voltar para o Painel:
Agora vamos colocar em produção clicando em PUBLICAR APLICATIVO:
Na sequência clique em confirmar para que seja publicado:
Agora que já publicamos nosso app msmtp, vamos criar as credenciais de acesso dele:
Em credenciais vamos clicar em criar credenciais e escolher a opção ID do cliente OAuth:
Nessa tela vamos selecionar Aplicativo da Web:
Vamos dar um nome para ele, deixei como msmtp mesmo e precisamos adicionar na URI de redirecionamento autorizados o endereço https://oauth2.dance/ e em seguida clicar em criar:
Na próxima tela será exibido o ID do cliente e a Chave secreta do cliente. Copie esses 2 dados porque vamos precisar lá na frente e tome cuidado com eles, para que não sejam usados por pessoas não autorizadas:
Terminamos aqui a configuração do nosso Google Cloud. Agora seguimos com a instalação do que precisaremos no Debian que será monitorado.
Instalação e configuração
Agora que já temos nossas credenciais vamos precisar gerar nossos tokens de acesso e para isso vamos precisar do script em python do Google chamado oauth2.py que pode ser baixado do Github aqui.
Vamos jogar esse script em /root/.config/msmtp e setar a permissão de execução para ele:
# mkdir -p /root/.config/msmtp # chmod +x /root/.config/msmtp/oauth2.py
Para pegarmos nossos tokens de acesso, vamos executar esse comando abaixo passando como parâmetros o client-id e o client-secret que salvamos lá do Google Cloud. Vamos executar esse comando assim:
# /root/.config/msmtp/oauth2.py --user=seu_email@dominio --client_id=XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com --client_secret=XXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXX --generate_oauth2_token
Assim que você rodar esse comando o script vai te devolver um link para que você acesse pelo seu navegador e ficará aguardando um código. Siga os passos via web e no final você receberá um código.
To authorize token, visit this url and follow the directions: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=328XXXXXXXX-afmXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com&prompt=consent&redirect_uri=https%3A%2F%2Foauth2.dance%2F&response_type=code&scope=https%3A%2F%2Fmail.google.com%2F Enter verification code:
Como pode ver acima ele aguarda um código de verificação. Após acessar o link no final aparecerá algo assim abaixo. Basta clicar para copiar o código e colar acima:
Após passar o código de verificação e dar enter, o script vai devolver duas informações importantes o Access Token e o Refresh Token. Anote eles também porque vamos utilizar na configuração final do msmtp. Sim eles são gigantescos:
Refresh Token: 1//XXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_Pqg8 Access Token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Access Token Expiration Seconds: 3599
Agora que temos as 5 informações importantes vamos construir nosso arquivo .json contendo os dados de acesso pro msmtp:
- E-mail usado como user.
- Client-id.
- Client-secret.
- Access Token.
- Refresh Token.
Vamos criar o seguinte arquivo como exemplo /root/.config/msmtp/ispup.json e nele adicionaremos nossos dados. Altere apenas os 5 dados acima conforme a sua instalação:
{"scope": "https://mail.google.com/", "user": "[email protected]", "client_id": "seu_client-id", "client_secret": "seu_client-secret", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "access_token": "seu_access_token", "expires_at": 3600, "refresh_token": "seu_refresh_token"}
# chown root: /root/.config/msmtp/ispup.json # chmod 640 /root/.config/msmtp/ispup.json
Coloque os dados dentro das aspas.
Vamos precisar de mais um script em python chamado getmail-gmail-xoauth-tokens que pode ser baixado daqui. Vamos colocá-lo junto com os outros arquivos e setar a permissão de execução nele:
# chmod +x /root/.config/msmtp/getmail-gmail-xoauth-tokens
Agora que temos todos os arquivos que precisamos faremos a instalação do msmtp e configuração deste:
# apt install msmtp msmtp-mta
Após a instalação vamos precisar apenas criar o arquivo /root/.msmtprc com o conteúdo de exemplo abaixo, conforme mostrei no início do artigo:
defaults host smtp.gmail.com port 587 protocol smtp tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account ISPUP auth oauthbearer from [email protected] user [email protected] passwordeval python3 /root/.config/msmtp/getmail-gmail-xoauth-tokens /root/.config/msmtp/ispup.json account default : ISPUP
Altere os parâmetros from, user e o nome do arquivo .json conforme você os tenha criado. O msmtp irá usar o getmail-gmail-xoauth-token que lerá o ispup.json onde estão as credenciais e tokens para autenticar.
Para testar se vai funcionar é bem simples, instale o pacote bsd-mailx, copie e cole no terminal os comandos abaixo e veja se vai receber o e-mail.
# apt install bsd-mailx # mailx -s TESTE_ENVIO email@dominio <<EOF Teste de envio de e-mail pelo msmtp com oauth2 EOF
Para replicar em outros servidores basta instalar o msmtp e msmtp-mta e copiar a estrutura abaixo que já vai estar com as credenciais e tokens:
- /root/.config/msmtp/*
- /root/.msmtprc
Essa documentação foi útil? Compartilhe, divulgue e ajude outras pessoas. Meus contatos podem ser vistos aqui.