Hostwinds Tutoriais

Resultados da busca por:


Índice


O que é smtp-cli?
Pré-requisitos
Configuração
Dependências
CentOS / Fedora
Ubuntu / Debian
Baixe o repositório SMTP-CLI
Crie um arquivo de senha de e-mail
Enviando e-mail com smtp-cli
Aqui está o modelo de código para um script bash
E aqui está o e-mail que foi enviado
Alguns outros argumentos smtp-cli úteis
Solução de problemas

Como usar smtp-cli para criar um agente de envio de correio simples (Linux)

Tag: Email,  Linux 

O que é smtp-cli?
Pré-requisitos
Configuração
Dependências
CentOS / Fedora
Ubuntu / Debian
Baixe o repositório SMTP-CLI
Crie um arquivo de senha de e-mail
Enviando e-mail com smtp-cli
Aqui está o modelo de código para um script bash
E aqui está o e-mail que foi enviado
Alguns outros argumentos smtp-cli úteis
Solução de problemas

O que é smtp-cli?

Para entender melhor o que é SMTP-CLI, vamos falar sobre o que não é;SMTP-CLI não é um servidor de e-mail ou agente de relé;Também não é uma maneira de enviar grandes volumes de correio.É um cliente de e-mail que permite o envio de texto, html, arquivos e fotos da linha de comando e das scripts.

Em vez de criar outro servidor de e-mail, você pode usar o SMTP-CLI para enviar atualizações de seus VPS (s) por meio de uma conta de e-mail remota para monitorar a saúde ou o status. Você também pode configurar um trabalho cron para encaminhar logs como parte do endurecimento da segurança do servidor. Isso permite que seu servidor funcione mais ou menos desacompanhado, a menos que os erros sejam encontrados ou os limites sejam abordados.

Pré-requisitos

  • um servidor de e-mail remoto com sua conta de e-mail
  • a VPS that requires mail to be sent outbound
  • Acesso de linha de comando ao VPS acima (via SSH ou Get VNC)

Configuração

  • 1 Hostwinds VPS com CentOS 7
  • uma conta de e-mail cPanel
  • o cliente Putty SSH será usado para acesso

Dependências

Nós estaremos usando o Git para pegar o script SMTP-CLI do GitHub. Se você ainda não tiver instalado, você pode instalá-lo assim:

CentOS / Fedora

# yum install -y git

Ubuntu / Debian

# apt-get install -y git

Baixe o repositório SMTP-CLI

# git clone https://github.com/mludvig/smtp-cli.git

O script SMTP-CLI (a peça que as execuções) está localizada dentro de um diretório chamado SMTP-CLI, e por dentro é um arquivo chamado SMTP-CLI (o sinalizador -L no comando nos permite olhar para os atributos do arquivo para garantir que ele seja executável).

# ls -l smtp-cli

Se esses "X" estiverem em vez de "-", então execute este comando para fazer o executável do arquivo.

# chmod +x smtp-cli/smtp-cli

Agora podemos testar para ver se funciona.

# smtp-cli/smtp-cli

O que deve resultar em um erro como este

É estranho que um erro seja bom, mas como estamos apenas testando para ter certeza de que o script foi baixado e executável, isso é tudo de que precisamos agora.

Agora vamos verificar nosso PATH global (onde o VPS verifica quando eu executo coisas na linha de comando sem um caminho completo)

# echo $PATH

E copie o smtp-cli para o diretório sbin do usuário dentro do seu PATH padrão.

# cp smtp-cli/smpt-cli /usr/local/sbin
ls -l /usr/local/sbin/smtp*

Agora podemos executar o SMTP-CLI de qualquer diretório no VPS sem se preocupar em incluir o caminho completo para o arquivo.

Crie um arquivo de senha de e-mail

Como colocando sua senha não criptografada em um script é praticamente o mais inseguro, para não mencionar difícil, maneira de gerenciar uma senha, criaremos um arquivo que contém nossas informações de senha. Isso nos permite atualizar nossa senha facilmente e faz um ator malicioso pelo menos ter que procurar as informações.

Como estou correndo como usuário root e criando um cronjob raiz, este arquivo estará no diretório / root / root. Seu trabalho Cron pode estar no seu usuário crontab, dependendo dos privilégios que você é concedido pelo administrador do sistema, caso em que você pode armazenar isso no / home / username.

# touch /root/.passwd
echo 'SomeRandomPassword' > /root/.passwd

Observe que a "SomerandaChassword" precisará ser o texto simples da sua senha de e-mail real para sua conta de e-mail remoto.

Enviando e-mail com smtp-cli

Agora chegamos à parte boa, enviar um email como parte de um script ou pela linha de comando. Vou testá-lo enviando o arquivo que criamos como parte do nosso guia vnstat.

Como observação, a parte $ (algum comando) abaixo permite que um comando seja executado em linha e use a saída desse comando como entrada para o argumento.

# smtp-cli --verbose --server mail.emaildomain.TLD:587 --enable-auth --user smtp-cli_guide@emaildomain.TLD --pass $(cat /root/.passwd) --from smtp-cli_guide@emaildomain.TLD --to test2@emaildomain.TLD --subject VPS-stats --attach /var/www/html/vps_bandwidth_stats.png

Agora que sabemos que funciona, podemos colocar o comando em um script bash ou cron job.

Aqui está o modelo de código para um script bash

#!/etc/bash

smtp-cli --verbose --server mailservername.emaildomain.TLD:587 --enable-auth --user login-user@emaildomain.TLD --pass $(cat /root/.passwd) --from email_orinator@emaildomain.TLD --to email_destination@emaildomain.TLD --subject subject-line --attach /full/path/filename.tosend >> /path/to/logfile.log

E aqui está o e-mail que foi enviado

Alguns outros argumentos smtp-cli úteis

--help
--body-plain=<text|filename>
--body-html=<text|filename>

Embora este exemplo forneça a capacidade de configurar scripts ou cronjobs, este remetente simples também pode enviar email usando variáveis ​​globais ou saída para outros scripts de monitoramento; Todas essas ferramentas podem enviar alertas simples ou dados de diagnóstico complexos para o seu e-mail com base em um intervalo regular ou um evento de disparo.

Solução de problemas

Vários problemas diferentes podem surgir ao usar o script. O primeiro problema seria como seu servidor de email se autentica. Você insere um endereço de e-mail completo ou apenas um nome de usuário? Isso é o que você precisaria após o argumento -user. O exemplo pressupõe que você digite o endereço de e-mail completo como o -User. Use quais credenciais você normalmente usa para o seu servidor.

A segunda área de problema é o campo –from. Certifique-se de que esta é a conta de e-mail na qual você está fazendo login. Você não pode enviar e-mail de uma conta que você não controla.

O terceiro é o nome do servidor e a seleção da porta do campo -Server. Esse nome deve ser um nome de domínio totalmente qualificado do seu servidor de email de saída seguido por um: portnumber. As portas padrão para SMTP são 25, 587, 465.

Finalmente, o campo -Para precisa ser um endereço de e-mail válido, ou nunca chegará a um destino.

Escrito por Paul Schene  /  Julho 10, 2020