Δημοσιεύτηκε: 28 Ιούλ 2009, 14:30
από ftso
Παρακάτω θα δούμε τον πιο εύκολο ίσως και γρήγορο τρόπο για να στέλνουμε email απο το pc μας μέσω της γραμμής εντολών.
Αυτό μπορεί να φανεί χρήσιμο για την δημιουργία αυτοματοποιημένων shell script τα οποία με την βοήθεια του cron μπορούν να μας στέλνουν κάποιες πληροφορίες όπως screenshots απο την webcam μας, κατάσταση συστήματος κτλ...



  • Εγκατάσταση:
    Εγκαθιστούμε το cli πρόγραμμα sendemail.
    Κώδικας: Επιλογή όλων
    sudo apt-get install sendemail




  • Εύρεση του smtp server του adsl provider μας:
    Απαραίτητη προϋπόθεση είναι να γνωρίζουμε τον smtp server του adsl provider μας ο οποίος πέρα απο την ip μας δεν θα πρέπει να χρησιμοποιεί κάτι άλλο για την αυθεντικοποίηση.
    Η εύρεσή του είναι υπόθεση ενός λεπτού με μια αναζήτηση στο google.
    Μερικοί γνωστοί:
    forthnetmailgate.forthnet.gr
    otenetmailgate.otenet.gr
    hol smtp.hol.gr
    vivodi mail.vivodinet.gr
    tellas smtp.tellas.gr
    cyta mail-out.cyta.gr

    (Τα παραπάνω δεν έχουν δοκιμαστεί όλα οπότε μπορεί κάποια διεύθυνση να είναι λάθος)



  • Ρυθμίσεις εντολής:
    Η εντολή είναι η sendEmail και έχει τις παρακάτω ρυθμίσεις που θα μας χρειαστούν:
    • -f : πεδίο from (από)
    • -t : πεδίο to (προς)
    • -cc : κοινοποίηση
    • -bcc : κρυφή κοινοποίηση
    • -u : τίτλος email
    • -m : κείμενο
    • -s : smtp server
    • -a : συνημμένο



  • Παραδείγματα:
    1)Αποστολή απλού email:
    Κώδικας: Επιλογή όλων
    sendEmail -f dieuthinsh@apostolea.com -t dieuthinsh@paralipth.com -u "test sendEmail" -m "this is a test" -s dieuthinsh.smtpserver.gr


    2)Αποστολή εξόδου μιας εντολής:
    Κώδικας: Επιλογή όλων
    cat /var/log/messages | sendEmail -f dieuthinsh@apostolea.com -t dieuthinsh@paralipth.com -u "test sendEmail" -s dieuthinsh.smtpserver.gr


    3)Αποστολή ενός συνημμένου:
    Κώδικας: Επιλογή όλων
    sendEmail -f dieuthinsh@apostolea.com -t dieuthinsh@paralipth.com -u "test sendEmail" -m "this is a test" -s dieuthinsh.smtpserver.gr -a /usr/share/pixmaps/firefox-3.0.png


    4)Παράδειγμα shell script:
    Το παρακάτω shell script αφού το αποθηκεύσουμε σε κάποιο σημείο (πχ στο home) και του δώσουμε δικαιώματα εκτέλεσης, μπορούμε να το προγραμματίσουμε με τον cron ώστε να εκτελείτε συγκεκριμένες ώρες.
    Βοήθεια για τον cron εδώ
    Κώδικας: Επιλογή όλων
    #!/bin/bash
    #copyleft 2009 - ftso

    #προαπαιτούμενα είναι το  lm-sensors για τις θερμοκρασίες και το streamer μαζί με μια webcam για το screenshot

    #Το lm-sensors και το streamer τα εγκαθιστούμε ως εξής (απαντώντας θετικά σε όλα τα ερωτήματα):
    #sudo apt-get install streamer lm-sensors && sudo sensors-detect
    #Για να μπει σε εφαρμογή το lm-sensors κάνουμε μια επανεκκίνηση

    a=`date`
    b=`uptime`
    c=`uname -a`
    d=`sensors`
    e=`dmesg | tail -20`



    #όπου /dev/video1 εμείς βάζουμε την δικιά μας (webcam) συσκευή. Πιθανόν να είναι η /dev/video0
    streamer -q -c /dev/video1 -b 32 -s 800x600 -o "/tmp/webcam_screenshot.jpeg"


    #Απαραίτητο πεδίο εδώ είναι το <dieuthinsh.smtpserver.gr> όπου πρέπει να βάλουμε αυτόν του adsl provider μας
    sendEmail -f dieuthinsh@apostolea.com -t dieuthinsh@paralipth.com -u "My PC `date`" -m "date:\n $a \n \n uptime:\n $b \n \n uname: \n $c \n \n temperature: \n $d \n \n dmesg: $e" -s dieuthinsh.smtpserver.gr -a /tmp/webcam_screenshot.jpeg

    rm -f /tmp/webcam_screenshot.jpeg
    exit 0

~ ~ ~ ~ ~ ~ πηγή ~ ~ ~ ~ ~ ~
~ Η ιδέα μου ήρθε απο εδώ ~



Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Παρόμοια διανομή 3.0 Ελλάδα