Como faço para fazer com que o cron envie minha conta do @gmail

41

Eu tenho alguns trabalhos cron que às vezes produzem erros e gostaria de receber uma notificação na minha conta de email "real", já que não uso a caixa de correio do usuário no laptop Ubuntu, mas cron (ou talvez seja um postfix) continua tentando enviar por e-mail a conta raiz local.

Eu sei que posso adicionar a variável MAILTO ao crontab:

ricardo@ricardo-laptop:~$ sudo crontab -l
[email protected]
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

Mas não parece prestar atenção a isso

Também tentei adicionar meu email ao /etc/aliasesarquivo e executarnewaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          [email protected]
ricardo:       [email protected]

Ainda assim, sempre que o cron deseja enviar um email, ele ainda o envia para [email protected]:

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<[email protected]>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<[email protected]>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

Alguma sugestão? Estou executando o Ubuntu 10.04, com tudo atualizado

Ricardo Reyes
fonte

Respostas:

20

Parece que você configurou o smtp.gmail.com como seu mais inteligente para o servidor de email. Você precisa remover a configuração do smarthost ou editá-la para que seu servidor seja capaz de enviar emails para o mundo externo.

A configuração que você tem agora para o encaminhamento de email parece estar funcionando, mas está falhando porque smtp.gmail.com está rejeitando o email.

Atualização : para referência futura, o problema estava em /etc/mailnamelistar um nome que não estava na mydestinationslista de postfix. Isso fez com que todos os emails fossem considerados estrangeiros e o /etc/aliasesprocessamento ignorado .

Ressu
fonte
Por enquanto estou ignorando o erro TLS e concentrando-me no fato de que a última linha do mail.log diz: postfix / smtp [4120]: D985B310: to = <[email protected] .ar> de modo que o cron ainda está tentando enviar um e-mail para minha conta root em vez da minha conta do gmail, eu estava com medo de deixar a resposta do gmail na pergunta ser confusa, mas eu não queria alterá-la muito para não perder valor em formação. Vou tentar corrigir o erro TLS agora, mas estou confiante de que deveria ter nada a ver com o problema destino errado
Ricardo Reyes
Você poderia incluir o seu main.cf para postfix. Eu suspeito que sua instância postfix pensa que o e-mail não é local para começar, somente mensagens locais ficar afectado por aliases arquivo
Ressu
Aqui está o meu postfix.cfg: cl1p.net/postfix Tentei remover a opção smarthost, mas isso apenas mudou a mensagem de erro do Gmail, pois meu ip não resolve corretamente. Lembre-se de que este não é um servidor, é apenas meu laptop pessoal e os únicos e-mails que preciso entregar são os alertas cron, para minha própria conta do Gmail. Obrigado.
Ricardo Reyes
11
Hmm .. seu / etc / mailname tem seu nome de host? por algum motivo, o postfix parece pensar que é chamado 144-68-247-190.fibertel.com.ar em vez de ricardo-laptop. Além disso, o que diz o hostnamecomando?
Ressu
O Postfix precisa ser configurado como um servidor de correio completo, não como um satélite do Gmail. Caso contrário, haverá um problema de autenticação porque o remetente não é um usuário do gmail.
precisa saber é o seguinte
1

Solução extraída da pergunta

(graças a Ressu )

O problema estava com o arquivo /etc/mailname

Este arquivo foi criado pelo instalador do Ubuntu e continha o nome do servidor errado. Depois que mudei para corresponder ao postfix "ricardo-laptop", percebi que os e-mails eram destinados à entrega local e começamos a seguir os aliases

guntbert
fonte
0

pensei em adicionar para as pessoas que descobrem isso como eu. Uma alternativa fácil, se você deseja que todo o seu email da sua conta root seja executar este comando:

sudo nano ~ / .forward

Você pode inserir um único email ou separar mais de um com vírgulas. Isso encaminhará todos os seus emails raiz (supondo que você esteja usando a raiz) para os endereços de email neste arquivo.

Depois de adicionar os emails, pressione Ctrl + X e Y para salvar as alterações.

Phil Young
fonte
isso coloca um arquivo na casa do meu usuário, não na raiz?
endolith
@endolith: Correto. Você pode querer sudo nan ~root/.forward.
Flimm
11
mas você está usando o sudo para criar um arquivo na casa do usuário?
endolith