[Debian] Ρυθμίστε το Exim4 για αποστολή Email μέσω Gmail SMTP

Πρόσφατα χρειάστηκε να στήσω μια MTA (Message Transfer Agent) υπηρεσία στον υπολογιστή μου ώστε να μπορώ να στέλνω Emails όχι μόνο τοπικά αλλά και έξω από αυτόν. Ψάχνοντας βρήκα κάμποσους οδηγούς στο διαδίκτυο, οι περισσότεροι εξ αυτών όμως ήταν παρωχημένοι. Όλο και κάποιο λάθος προέκυπτε στο Configuration που απέτρεπε τη σωστή λειτουργία.
Εν τέλει μετά από διάφορες δοκιμές βρήκα τις ρυθμίσεις που έπρεπε να κάνω για να δουλέψει όπως πρέπει.
Παρακάτω θα δούμε πως μπορούμε να ρυθμίσουμε το Exim σε ένα σύστημα Debian ώστε να στέλνουμε μηνύματα από το σύστημα (πχ μέσω τερματικού) σε έναν εξωτερικό λογαριασμό Email. Σε αυτό το παράδειγμα θα χρησιμοποιήσουμε τον ίσως δημοφιλέστερο Email Provider, το Gmail της Google.

Όσο δύσκολο και περίπλοκο ήταν παλαιότερα για κάποιον να επιτύχει κάτι τέτοιο, τόσο εύκολο και απλό έχει γίνει πλέον. Ακολουθήστε τα βήματα ένα προς ένα και στο τέλος θα πρέπει να είστε σε θέση να στείλετε Email από το σύστημα σε έναν εξωτερικό λογαριασμό και όχι μόνον στο root@localhost.
Ο ίδιος οδηγός μπορεί να εφαρμοστεί και σε Ubuntu.

Εγκατάσταση απαραίτητων πακέτων

sudo apt-get install exim4-base exim4-config

Ρυθμίσεις

sudo dpkg-reconfigure exim4-config

Ακολουθούν σε εικόνες οι ρυθμίσεις που πρέπει να κάνουμε.

Όνομα Χρήστη και Κωδικός

Ανοίγουμε το αρχείο:

sudo vim /etc/exim4/passwd.client

και προσθέτουμε τις παρακάτω γραμμές:

gmail-smtp.l.google.com:myemail@gmail.com:password
*.google.com:myemail@gmail.com:password
smtp.gmail.com:myemail@gmail.com:password

Αντικαθιστούμε τα myemail@gmail.com και password με τα πραγματικά username και password του gmail μας.

Στο τέλος τρέχουμε:

sudo update-exim4.conf
sudo systemctl restart exim4 

Και αυτό ήταν ! Τόσο απλό και τόσο εύκολο.

Οι ρυθμίσεις που κάναμε έχουν αποθηκευτεί στο
/etc/exim4/update-exim4.conf.conf

Συγκεκριμένα για το Gmail

Θα πρέπει να λάβουμε υπόψη μας δυο πράγματα.

1) Σε περίπτωση που δεν έχουμε ενεργοποιήσει το 2 Factor Authentication πρέπει να εφαρμόσουμε μια ειδική ρύθμιση στον Gmail λογαριασμό μας για να επιτραπεί η είσοδος (login) από το σύστημά μας (πχ. το Debian ή το Ubuntu) στο Gmail. Αυτό θα το διαπιστώσουμε εάν στείλουμε ένα Test Email (θα δούμε παρακάτω πως), τότε η Google θα μας στείλει ένα Email για Block Login Attempt. Εκεί υπάρχει το Link που μπορούμε να ακολουθήσουμε για να ενεργοποιήσουμε το «Allow Access to less secure Apps»

2) Στη περίπτωση που έχουμε ενεργοποιήσει το 2 Factor Authentication, και αυτό είναι κάτι που προτείνω ανεπιφύλακτα, πρέπει να δημιουργήσουμε έναν νέο App Password για την εφαρμογή. Αυτό τον κωδικό θα γράψουμε στο παραπάνω αρχείο (passwd.client) και είμαστε έτοιμοι.

Test Email

echo 'Test Message from Debian System.' | mail -s 'Test Message' youremail@example.com

Αντικαταστήστε το youremail@example.com με ένα πραγματικό σας Email και δείτε εάν λάβατε το μήνυμα.

Προεπιλεγμένη διεύθυνση αποστολής Email

Αν θέλουμε το Exim να στέλνει σε συγκεκριμένη διεύθυνση Email τα μηνύματα, μπορούμε να το καθορίσουμε στο αρχείο /etc/email-addresses

Χρήσεις

Εκτός από την προφανή χρήση να στείλουμε κάποιο Email από το τερματικό μας, χρήσιμο για όσους/ες χρησιμοποιούν Server χωρίς γραφικό περιβάλλον, μπορούμε να ρυθμίσουμε άλλες εφαρμογές όπως το «Apt Listchanges» ή το «Unattended Upgrades» να μας στέλνουν μηνύματα.
Μπορούμε ακόμη να ρυθμίσουμε και ένα Cron Job για όποια εργασία εμείς θελήσουμε. Αφού ο MTA λειτουργεί, μια if και ένα mail -s ..... όπως στο Test Mail που είδαμε παραπάνω, είναι αρκετά.

Debugging

  1. Για μηνύματα λάθους και άλλα Warnings δείτε στο αρχείο /var/log/exim4/mainlog
  2. Σε περίπτωση που δεν λειτουργεί σωστά ο mail (ή mailx), σας επιστρέφει μηνύματα λάθους για malformed email address, δοκιμάστε τον mutt.
sudo apt-get install mutt

Και το Test Mail γίνεται

echo 'Test Message from Debian System.' | mutt -s 'Test Message' youremail@example.com

Until next time …
Thanks for reading!

2 thoughts on “[Debian] Ρυθμίστε το Exim4 για αποστολή Email μέσω Gmail SMTP

  1. Πάρα πολύ ωραίο άρθρο και σημαντικό!

    Και εγώ το έχω χρειαστεί συγκεκριμένη λειτουργία!
    Πως και χρησιμοποιείς το Exim και όχι το Postfix ή το sendmail ;
    Μπορείς να στείλεις e-mail και με ότι διεύθυνση επιθυμείς;

    Ευχαριστούμε πάρα πολύ για τις σωστές οδηγίες ρύθμισής και γενικά για τον συγκεκριμένο οδηγό!

    1. Postfix και sendmail συνήθως χρησιμοποιούνται local. Όταν θέλεις όμως να βγεις έξω, το exim4 είναι το πιο εύκολο στη ρύθμιση και τη χρήση γενικότερα. Το χρησιμοποιώ στον server που έχω για σημαντικές ειδοποιήσεις και λειτουργεί χωρίς πρόβλημα. Με τον mutt λειτουργεί ακόμη καλύτερα, επισυναπτόμενα κλπ.

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

w

Σύνδεση με %s