monit send email não funciona

6

Estou tentando usar o monit e configurar o servidor de e-mail usando o gmail. O arquivo de configuração é assim:

set mailserver smtp.gmail.com port 587
username "[email protected]" password "password"
using tlsv1
with timeout 30 seconds

E eu configurei um alerta para testar:

check file alerttest with path /.nonexistent
alert [email protected] with reminder on 500 cycles

Mas quando eu uso validar monit, a mensagem de erro que recebi é esta:

Sendmail: error receiving data from the mailserver 'smtp.gmail.com' -- Resource temporarily unavailable
Alert handler failed, retry scheduled for next cycle
'alerttest' file doesn't exist
Sendmail: error receiving data from the mailserver 'smtp.gmail.com' -- Resource temporarily unavailable
'alerttest' trying to restart

Alguém tem alguma ideia? Muito obrigado

    
por Jiechao Li 11.05.2013 / 00:17

2 respostas

7

Você não pode configurar o servidor de e-mail de outra empresa para enviar e-mails, a menos que tenha uma conta real lá. Mesmo se você tiver uma conta, o monit não é o melhor programa para lidar com o envio de emails. O que eu sugiro é apenas instalar um MTA local para ouvir em 127.0.0.1 e, em seguida, configurar o monit assim:

set mailserver 127.0.0.1

Nesse caso, o monit entregará a entrega de email a um MTA real que pode cuidar de enviá-lo, o MTA é perfeitamente capaz de lidar com o servidor remoto indisponível, ao contrário do monit (já que não é feito para isso ).

Como você configura e configura o MTA está fora do escopo desta questão, no entanto, se você quiser enviar email diretamente, seria melhor ter um IP estático, rDNS e registros mx. Ou você pode usar um smarthost / gateway remoto.

Editar: breve explicação de como instalar o postfix

  • executar:

    apt-get instala o postfix

  • escolha:

    site da internet

  • nome do correio do sistema:

    qualquer nome de host que seu sistema tenha

Agora você configurou o postfix para enviar e receber e-mails de e para a Internet. Agora, quando você configurar o monit, conforme descrito acima, você poderá enviar e-mails.

Importante , para melhorar a capacidade de entrega, você quer ter certeza de que seu endereço IP tem um registro DNS reverso que retorna ao seu domínio.

Por exemplo, se o seu domínio for exemplo.org e seu servidor for monit.example.org, então deverá resolver algo assim:

host monit.example.org
monit.example.org has address 192.0.43.10

host 192.0.43.10
10.43.0.192.in-addr.arpa domain name pointer monit.example.org

Embora possa resolver para um nome de host diferente, desde que o domínio seja o mesmo. Isso ocorre porque muitos servidores de e-mail verificarão se você tem um rDNS válido. Você pode solicitar seu ISP (amazon, neste caso) para alterar o rDNS para você.

    
por 11.05.2013 / 01:48
4

Você pode usar um servidor de correio remoto. Aqui estão minhas configurações de amostra que funcionaram. Ele envia alertas para o meu Gmail através de um servidor SMTP remoto. Acho que você também usa o Gmail como um retransmissor SMTP.

#configure remote smtp server in monitrc
/etc/monit/monitrc

set mailserver mail.yourmailserver.com port 587    
    username "[email protected]" password "mypassword"    
    using tlsv1    
    with timeout 30 seconds

#set the from email which should be same as the one above
set mail-format { from: [email protected] }

//
/etc/monit/conf.d/monit.services

monitore o apache2

check process apache with pidfile /var/run/apache2/apache2.pid
       alert [email protected] only on { timeout,nonexist,resource,pid,connection }
       start program = "/etc/init.d/apache2 start" with timeout 60 seconds
       stop program  = "/etc/init.d/apache2 stop"
    
por 05.03.2016 / 21:39