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
MAILTO=redacted@gmail.com
# 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:          redacted@gmail.com
ricardo:       redacted@gmail.com

Ainda assim, sempre que o cron deseja enviar um email, ele ainda o envia para root@my.domain.com:

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=<root@144-68-247-190.fibertel.com.ar>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<root@144-68-247-190.fibertel.com.ar>, 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

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 .


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 = <root@144-68-247-190.fibertel.com .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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.