Come faccio a rendere cron email il mio account @gmail


41

Ho un paio di lavori cron che a volte generano errori e vorrei ricevere una notifica nel mio account di posta elettronica "reale", dal momento che non uso la cassetta postale del mio utente nel mio laptop Ubuntu, ma cron (o forse è postfix) continua a provare a inviare l'account root locale via email.

So di poter aggiungere la variabile MAILTO al crontab:

ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

Ma non sembra prestargli alcuna attenzione

Ho anche provato ad aggiungere la mia e-mail al /etc/aliasesfile e in esecuzionenewaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          redacted@gmail.com
ricardo:       redacted@gmail.com

tuttavia, ogni volta che cron desidera inviare un'e-mail, la invia comunque a 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))

Eventuali suggerimenti? Sto eseguendo Ubuntu 10.04, con tutto aggiornato

Risposte:


20

Sembra che tu abbia configurato smtp.gmail.com come smarthost per il server di posta. Devi rimuovere la configurazione dello smarthost o modificarla in modo che il tuo server sia in grado di inviare posta al mondo esterno.

La configurazione che hai ora per l'inoltro della posta sembra funzionare, ma non riesce perché smtp.gmail.com sta rifiutando la posta.

Aggiornamento : per riferimento futuro, il problema era /etc/mailnameche elencava un nome che non era mydestinationsnell'elenco dei postfix. Ciò ha comportato che tutte le mail fossero considerate esterne e l' /etc/aliaseselaborazione della posta ignorata .


Per ora sto ignorando l'errore TLS e mi sto concentrando sul fatto che l'ultima riga in mail.log dice: postfix / smtp [4120]: D985B310: to = <root@144-68-247-190.fibertel.com .ar> quindi cron sta ancora provando a inviare per e-mail il mio account di root invece del mio account di Gmail, temevo che lasciare la risposta di Gmail nella domanda fosse confuso, ma non volevo cambiarlo troppo, quindi non perdo prezioso informazione. Proverò a correggere l'errore TLS ora, ma sono sicuro che non dovrebbe avere nulla a che fare con il problema di destinazione sbagliato
Ricardo Reyes

Potresti includere main.cf per postfix. Ho il sospetto che la tua istanza postfix pensi che la posta non sia locale per cominciare, solo la posta locale viene influenzata dal file alias
Ressu

Ecco il mio postfix.cfg: cl1p.net/postfix Ho provato a rimuovere l'opzione smarthost, ma ha cambiato solo il messaggio di errore di Gmail, poiché il mio IP non si risolve correttamente. Tieni presente che questo non è un server, è solo il mio laptop personale e le uniche e-mail che devo inviare sono gli avvisi cron, sul mio account Gmail. Grazie.
Ricardo Reyes,

1
Hmm .. il tuo / etc / mailname contiene il tuo hostname? per qualche motivo postfix sembra pensare che si chiama 144-68-247-190.fibertel.com.ar invece di ricardo-laptop. Inoltre, cosa dice il hostnamecomando?
Ressu,

Postfix deve essere configurato come server di posta completo, non come satellite per gmail. In caso contrario, si verificherà un problema di autenticazione perché il mittente non è un utente per Gmail.
txwikinger,

1

Soluzione estratta dalla domanda

(grazie a Ressu )

Il problema era con il file /etc/mailname

Questo file è stato creato dal programma di installazione di Ubuntu e conteneva un nome server errato. Una volta modificato per abbinarlo al postfix "ricardo-laptop", ho capito che le e-mail erano destinate alla consegna locale e hanno iniziato a seguire gli alias


0

ho pensato di aggiungere per le persone che scoprono questo come ho fatto io. Un'alternativa semplice se desideri che tutta la tua posta dal tuo account di root sia eseguire questo comando:

sudo nano ~ / .forward

È quindi possibile inserire una singola e-mail o separarne più di una con virgole. Questo inoltrerà tutte le e-mail di root (supponendo che tu stia utilizzando la radice) agli indirizzi di posta elettronica in questo file.

Dopo aver aggiunto le e-mail, premi Ctrl + X, quindi Y per salvare le modifiche.


questo mette un file nella casa del mio utente, non quello di root?
Endolith,

@endolith: corretto. Potresti sudo nan ~root/.forwardinvece desiderare .
Flimm,

1
ma stai usando sudo per creare un file nella casa dell'utente?
endolith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.