Σελίδα 1 από 2

Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 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 Ελλάδα

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 28 Ιούλ 2009, 15:01
από KiRiLoS
Ωραιος!Δεν ξερω γιατι αλλα πολυ γουσταρω αυτες τις εφαρμογες μεσα απο το τερματικο!

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 28 Ιούλ 2009, 15:40
από ftso
Προστέθηκε παράδειγμα ενός shell script :D

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 28 Ιούλ 2009, 17:15
από vagrale13
:clap: :clap:
Απλα Τελειο, να' σαι καλα "ftso" !!!
Απο τωρα....πλεων θα στελνω τα mail απο τερματικο!! :angel:

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 02 Αύγ 2009, 13:29
από grimm
@ftso
Πολύ καλό tutorial και πολύ χρήσιμο!
Επίσης πολύ χρήσιμο ήταν και το αντίστοιχο tutorial που είχες γράψει για αποστολή SMS στο τεύχος 3 του Ubuntistas.

Ευχαριστώ και για τα δύο.

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 13 Δεκ 2009, 04:22
από aflaouras
Μου πετάει αυτό το σφάλμα και από ότι κατάλαβα είναι επειδή πρέπει να μπει και το password κάπου..
Κώδικας: Επιλογή όλων
Must issue a STARTTLS command first. s10sm8259877muh.18

Αυτό γίνεται με κάποια εντολή?Άμα ρυθμίσω το EVOLUTION για το gmail θα διορθωθεί το πρόβλημα?

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 13 Δεκ 2009, 04:26
από ftso
Μάλλον χρησιμοποιείς τον smtp server της google, σωστά?
Με τον smtp του παρόχου σου έχεις το ίδιο πρόβλημα?

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 13 Δεκ 2009, 04:33
από aflaouras
Ναι gmail χρησιμοποιώ...Υπάρχει πρόβλημα με τον smtp της google?

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 13 Δεκ 2009, 04:39
από ftso
aflaouras έγραψε:Υπάρχει πρόβλημα με τον smtp της google?

Ναι, θέλει πιστοποίηση :D
Αν βάλεις του παρόχου θα δουλέψει κατευθείαν...

Re: Αποστολή email από γραμμή εντολών (sendemail)

ΔημοσίευσηΔημοσιεύτηκε: 28 Ιούλ 2010, 16:36
από saavedra29
καλοοοοό! Πολύ χρήσιμος και λινουξάδικος τρόπος για mail!