O Cron não usará o msmtp para enviar e-mails em caso de cronjob com falha

1

Eu estou tentando configurar uma máquina para que ela me envie um e-mail se um dos cronjobs enviar algo em caso de erro.

  • Estou usando o Debian Wheezy.
  • O Cron está funcionando normalmente (sem a funcionalidade de email).
  • O msmtp está instalado e configurado. Já ligou / usr / {bin | sbin} / sendmail para / usr / bin / msmtp.

Eu posso enviar e-mail usando:

echo "test" | mail -s "subject" [email protected]

ou executando:

echo "test" | /usr/sbin/sendmail

Sem o link simbólico (/ usr / sbin / sendmail), o cron irá me dizer que:

(CRON) info (No MTA installed, discarding output)

Com os links simbólicos, obtenho:

(root) MAIL (mailed 1 byte of output; but got status 0x004e, #012)

Você pode sugerir como configurar o par cron / msmtp?

Obrigado!

EDITAR:

Nota: Eu escrevi "msmtpd" por engano. Não é um daemon, mas sim um cliente SMTP chamado apenas "msmtp" (sem o final "d"). Ele é executado sob demanda e não está sendo executado em segundo plano o tempo todo.

Quando tento enviar um email usando o msmtp assim:

echo "test" | msmtp [email protected]

Do outro lado, nos logs do servidor SMTP, eu leio:

Nov  2 09:26:10 S01 postfix/smtpd[12728]: connect from unknown[CLIENT_IP]
Nov  2 09:26:12 S01 postfix/smtpd[12728]: 532301C318: client=unknown[CLIENT_IP], sasl_method=CRAM-MD5, [email protected]
Nov  2 09:26:12 S01 postfix/cleanup[12733]: 532301C318: message-id=<>
Nov  2 09:26:12 S01 postfix/qmgr[2404]: 532301C318: from=<[email protected]>, size=191, nrcpt=1 (queue active)
Nov  2 09:26:12 S01 postfix/local[12734]: 532301C318: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.62, delays=0.59/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to command: IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #1001)
Nov  2 09:26:12 S01 postfix/qmgr[2404]: 532301C318: removed
Nov  2 09:26:13 S01 postfix/smtpd[12728]: disconnect from unknown[CLIENT_IP]

E o email é entregue ao usuário de destino. Então parece que o cliente msmtp está funcionando corretamente.

Tem que ser algo na integração cron / msmtp, mas não tenho ideia do que essa coisa possa ser. Você pode me ajudar?

    
por Glister 01.11.2013 / 22:54

2 respostas

1

A solução foi adicionar à configuração do cron para o meu usuário (invocando crontab -e) isso:

CRONARGS=-m/usr/bin/msmtp
    
por 02.11.2013 / 12:30
0

Eu tive exatamente o mesmo cenário descrito na pergunta, mas a resposta atual não resolveu o problema para mim. No meu caso, a explicação do problema era que toda vez que o comando cron execution sendmail estava configurando $HOME to / , em vez de /home/<user> . Assim, mesmo se msmtp substituiu sendmail através de um link simbólico, ele não foi capaz de encontrar seu arquivo de configuração específico do usuário localizado em $HOME/.msmtprc .

Minha SOLUÇÃO era usar /etc/msmtprc em vez de $HOME/.msmtprc .

Esta pode não ser a melhor solução para o seu sistema, pois pode forçar alguns dados confidenciais do seu /etc/msmtprc a serem lidos por outros usuários.

Leia mais aqui: link

    
por 14.01.2016 / 00:00