2017-09-27 13 views
0

J'ai une boîte de dev utilisant xubuntu 16.04. J'ai installé ssmtp pour gérer le courrier et peut envoyer un courriel. Je l'ai testé avecne peux pas travailler où vont les emails cron

mail [email protected] < .~/.bashrc' 

Et il a bien fonctionné. J'ai un travail cron en cours d'exécution chaque minute qui crée des sorties qui devraient être envoyées par mon cron. 'Grep CRON/var/log/syslog' me donne

Sep 27 15:22:01 epdev CRON[19569]: (eventpuddle) CMD (cd /home/eventpuddle/eventpuddle/batch; ./scrape_check_todays_logs.bash) 
Sep 27 15:22:01 epdev sSMTP[19571]: Creating SSL connection to host 
Sep 27 15:22:01 epdev sSMTP[19571]: SSL connection using RSA_AES_128_CBC_SHA1 
Sep 27 15:22:03 epdev sSMTP[19571]: Sent mail for [email protected] (221 2.0.0 Bye) uid=1000 username=eventpuddle outbytes=816 

Si je sudo -i 'et tapez mail Je suis dit qu'il n'y a pas de courrier. /etc/ssmtp/ssmtp.conf est:

[email protected] 
mailhub=mail.myhoestingpeople.com:2525 
hostname=sun.prsc 
UseSTARTTLS=YES 
AuthUser=user 
AuthPass=password 
FromLineOverride=YES 
UseTLS=YES 

cront entery est

* * * * * (cd /home/eventpuddle/eventpuddle/batch; ./scrape_check_todays_logs.bash) 

./scrape_check_todays_logs.bash est

#!/bin/bash 
# scrape_check_todays_logs.bash (c) 2017 Ben Edwards (http://funkytwig.com/it) 
# Check logfiles for today and email them if there are any errors. 

. ~/.bashrc 

[ -z "$HOME" ]  && { echo '$HOME not set'; exit 1; } 
[ -z "$ADMIN_EMAIL" ] && { echo '$ADMIN_EMAIL not set'; exit 1; } 

t=/tmp/`basename $0 .bash`.$$.tmp 
d=$HOME 

grep -l "$d" log/*`date +%A`* > $t 

cat $t | while read line 
do 
    echo "mail $line" 
    mail -s "eventpuddle batch failuure $line" $ADMIN_EMAIL < $line 
done 

grep EXCLUD log/*`date +%A`* > $t 

mail -s 'eventpuddle exclusions' $ADMIN_EMAIL < $t 

Je ne sais pas ce que d'autres informations pour donner, mais sera si a demandé.

Répondre

0

En apparence, il semble que vous essayez de transférer le courrier électronique à une adresse e-mail externe? SSMTP est utilisé pour transmettre des alertes à un e-mail externe. Avez-vous une configuration SSMTP? La configuration (/etc/ssmtp/ssmtp.conf) devrait ressembler à ceci

# The user that gets all the mails (UID < 1000, usually the admin) 
[email protected] 

# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable 
# See also https://support.google.com/mail/answer/78799 
mailhub=smtp.gmail.com:587 

# The address where the mail appears to come from for user authentication. 
rewriteDomain=gmail.com 

# The full hostname. Must be correctly formed, fully qualified domain name or GMail will reject connection. 
hostname=yourlocalhost.yourlocaldomain.tld 

# Use SSL/TLS before starting negotiation 
UseTLS=Yes 
UseSTARTTLS=Yes 

# Username/Password 
AuthUser=username 
AuthPass=password 
AuthMethod=LOGIN 

# Email 'From header's can override the default domain? 
FromLineOverride=yes 

Ubuntu a une très bonne documentation sur la façon de mettre en place - here

+0

J'utilise un serveur SMTP externe et l'envoi de une adresse e-mail externe. J'ai utilisé exactement ce/etc/ssmtp/ssmtp.conf) sur plusieurs machines pour simplement envoyer la sortie cron et d'autres choses qui sont envoyées à root. La raison pour laquelle j'utilise ssmtp, et je pense que la raison pour laquelle beaucoup d'autres personnes l'utilisent, est que vous n'avez pas besoin d'installer un service de messagerie traditionnel sur la boîte. Comme je l'ai dit, je peux envoyer du courrier, il suffit de l'envoyer à partir de cron qui ne fonctionne pas, donc ssmtp semble être corrigé. –

+0

Quel est votre travail cron? Pouvez-vous le coller ici? – FELASNIPER

+0

a été ajouté à la question –