Hostwinds Tutoriais
Resultados da busca por:
Índice
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.
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:
# yum install -y git
# apt-get install -y git
# 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.
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.
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.
#!/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
--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.
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