Postfix αποστολή μηνυμάτων μέσω του Gmail (smtp.gmail.com)

Ορισμένοι ISP δεν επιτρέπουν την λειτουργία και την αποστολή μηνυμάτων μέσω SMTP server. Επίσης όταν το η σύνδεση σας στο Internet έχει δυναμική IP και δεν έχετε έλεγχο του Reverse DNS lookup, τα μηνύματα (emails) που αποστέλλει σε αρκετές περιπτώσεις χαρακτηρίζονται ως SPAM. Για να δώσετε λύση στα παραπάνω προβλήματα μπορείτε να ρυθμίσετε τον mail server (Postfix) να χρησιμοποιεί για την αποστολή των μηνυμάτων τον SMTP server της Google (smtp.gmail.com).

Βήμα 1ο
Εγκαταστήστε τα απαραίτητα πακέτα


sudo aptitude install postfix libsasl2 ca-certificates libsasl2-modules

Βήμα 2ο
Παραμετροποιήστε το βασικό αρχείο ρυθμίσεων του Postfix


sudo gedit /etc/postfix/main.cf

και προσθέστε τις παρακάτω ρυθμίσεις στην ενότητα SMTP


relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Με την παραπάνω τροποποίηση ορίζουμε τον Postfix server να κάνει relay μέσω του SMTP server της Google και να χρησιμοποιεί το αρχείο sasl_passwd για τον έλεγχο ταυτότητας. Στην συνέχεια ορίζουμε το πιστοποιητικό cacert.pem και τον τύπο ελέγχου ταυτότητας TLS.

Βήμα 3ο
Πρέπει να δημιουρησετε το αρχείο sasl_passwd και να ορίσετε το όνομα και το συνθηματικό του λογαριασμού σας στο Gmail.


sudo gedit /etc/postfix/sasl_passwd


[Smtp.gmail.com]:587 user.name@gmail.com:password

Προσοχή
Το συγκεκριμένο αρχείο θα πρέπει να έχει περιορισμένα δικαιώματα πρόσβασης και για να μπορέσει το Postfix να το χρησιμοποιήσει θα πρέπει να μετατραπεί σε αρχείο τύπου .db


sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

Βήμα 5ο
Στο σημείο αυτό μπορείτε να επανεκκινήσετε τον Postfix και θα πρέπει να λειτουργεί ωστόσο, θα παραπονεθεί γιατί δεν έχει την δυνατότητα να επικυρώσει το πιστοποιητικό. Για τη επίλυση αυτού του ζητήματος θα χρησιμοποιήσουμε το πιστοποιητικό που εγκαταστήσαμε νωρίτερα.


cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem

Βήμα 5ο
Τέλος για την αποδοχή του πιστοποιητικού και των ρυθμίσεων θα πρέπει να κάνετε επανεκκίνηση του Postfix.


sudo /etc/init.d/postfix restart