Postfix είναι ένα δημοφιλές δωρεάν λογισμικό ανοικτού κώδικα που λειτουργεί ως παράγοντας μεταφοράς αλληλογραφίας (MTA). Η δουλειά του Postfix είναι να δρομολογεί και να παραδίδει μηνύματα ηλεκτρονικού ταχυδρομείου. Εκτός από την κλασική χρήση, το Postfix μπορεί επίσης να ρυθμιστεί ώστε να στέλνει μηνύματα ηλεκτρονικού ταχυδρομείου μόνο από τοπικές εφαρμογές.
Αυτή η εφαρμογή του Postfix είναι ένα χρήσιμο κόλπο για εφαρμογή σε διάφορες καταστάσεις. Για παράδειγμα, μπορεί να χρησιμοποιηθεί κατά την τακτική αποστολή ειδοποιήσεων μέσω email, τη συνεργασία με έναν τρίτο πάροχο υπηρεσιών email με περιορισμένη εξερχόμενη κίνηση κ.λπ. Σε σύγκριση με οποιονδήποτε πλήρη SMTP διακομιστή, το Postfix είναι μια ελαφρύτερη εναλλακτική λύση που ταυτόχρονα διατηρεί τις απαραίτητες λειτουργίες.
In this tutorial, check out πώς να εγκαταστήσετε και να ρυθμίσετε το Postfix ως διακομιστή SMTP μόνο για αποστολή στο Ubuntu.
Προαπαιτούμενα
Για να ακολουθήσετε αυτόν τον οδηγό, πρέπει να πληροίτε τα ακόλουθα προαπαιτούμενα:
-
Πρέπει να έχετε έναν κατάλληλα ρυθμισμένο διακομιστή Ubuntu με πρόσβαση σε έναν sudo μη-root χρήστη.
-
Χρειάζεστε επίσης ένα πλήρως καταχωρημένο όνομα τομέα. Μάθετε περισσότερα για τα ονόματα τομέα από το Εγκατάσταση πιστοποιητικού SSL από εμπορική αρχή πιστοποίησης άρθρο μας.
-
Τέλος, θα χρειαστείτε μια εγγραφή DNS με το όνομα τομέα να δείχνει προς τη δημόσια διεύθυνση IP του διακομιστή.
Εγκατάσταση του Postfix
Μόλις εκπληρωθούν οι προϋποθέσεις, ο διακομιστής είναι έτος για την εγκατάσταση του Postfix. Ο απλούστερος τρόπος εγκατάστασης του Postfix είναι να εγκαταστήσετε το πακέτο mailutils. Είναι άμεσα διαθέσιμο από τα επίσημα αποθετήρια του Ubuntu.
Αρχικά, ανοίξτε ένα τερματικό και ενημερώστε τη βάση δεδομένων πακέτων APT :
|
1 |
sudo apt update |

Στη συνέχεια, μπορείτε να εγκαταστήσετε το Postfix:
|
1 |
sudo apt install mailutils |

Κατά τη διάρκεια της διαδικασίας εγκατάστασης, θα εμφανιστεί το ακόλουθο παράθυρο ρυθμίσεων. Η προεπιλεγμένη επιλογή είναι Internet Site. Για να επιβεβαιώσετε την επιλογή, πατήστε TAB για να μετακινήσετε τον κέρσορα στην επόμενη ενότητα. Στη συνέχεια, πατήστε Enter:

Το επόμενο βήμα θα ζητήσει το System mail name. Θα είναι το όνομα που έχει εκχωρηθεί στον διακομιστή κατά τη στιγμή της δημιουργίας. Όπως περιγράφεται στο σενάριο, εάν η διεύθυνση αλληλογραφίας για τον τοπικό κεντρικό υπολογιστή είναι «foo@example.org», τότε το System mail name θα είναι example.org:

Σημειώστε ότι το σενάριο ρυθμίσεων μπορεί επίσης να εκτελεστεί οποιαδήποτε στιγμή αργότερα χρησιμοποιώντας την ακόλουθη εντολή:
|
1 |
sudo dpkg-reconfigure postfix |
Ρύθμιση του Postfix
Σε αυτό το βήμα, το Postfix θα ρυθμιστεί ώστε να στέλνει και να λαμβάνει μηνύματα ηλεκτρονικού ταχυδρομείου μόνο από το localhost. Αυτό απαιτεί από το Postfix να ακούει στη διεπαφή loopback interface. Είναι η εικονική διεπαφή δικτύου που χρησιμοποιεί ο διακομιστής για εσωτερική επικοινωνία. Στη συνέχεια, ανοίξτε το αρχείο ρυθμίσεων του Postfix χρησιμοποιώντας το πρόγραμμα επεξεργασίας κειμένου της επιλογής σας:
|
1 |
sudo nano /etc/postfix/main.cf |
Αλλάξτε την τιμή του inet_interface σε loopback-only:

Μια άλλη οδηγία που πρέπει να αλλάξετε είναι η mydestination. Ορίζει τη λίστα των τομέων που παραδίδονται μέσω της μεταφοράς αλληλογραφίας local_transport . Η προεπιλεγμένη τιμή θα είναι κάπως έτσι:

Αλλάξτε την τιμή της στην ακόλουθη:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

Σε περίπτωση που ο τομέας σας είναι στην πραγματικότητα ένας υποτομέας και θέλετε τα μηνύματα ηλεκτρονικού ταχυδρομείου να εμφανίζονται σαν να έχουν σταλεί από τον κύριο τομέα, προσθέστε την ακόλουθη οδηγία στο τέλος των ρυθμίσεων του Postfix. Θα αφαιρέσει τον υποτομέα από τη διεύθυνση email:
|
1 |
masquerade_domains = <main_domain> |

Για να εφαρμοστούν οι αλλαγές, επανεκκινήστε το Postfix:
|
1 |
sudo systemctl restart postfix |
Δοκιμή του διακομιστή SMTP
Υποθέτοντας ότι η διαδικασία ρύθμισης ολοκληρώθηκε με επιτυχία, ήρθε η ώρα να τη δοκιμάσετε. Για να το κάνετε αυτό, ελέγξτε αν το Postfix μπορεί να στείλει ένα email σε έναν εξωτερικό λογαριασμό email χρησιμοποιώντας την εντολή mail . Είναι μέρος του πακέτου mailutils :
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
Το μήνυμα θα πρέπει να φτάσει στη διεύθυνση email που καθορίστηκε. Σε αυτό το σημείο, όλα τα μηνύματα που αποστέλλονται είναι μη κρυπτογραφημένα. Οι πάροχοι υπηρεσιών γενικά θα επισημάνουν τέτοια μηνύματα ως ανεπιθύμητα (spam), οπότε βεβαιωθείτε ότι έχετε ελέγξει το φάκελο των ανεπιθύμητων για την άφιξη του email.
Αν η mail εντολή αναφέρει σφάλμα ή το email δεν έφτασε μετά από μεγάλο χρονικό διάστημα, ελέγξτε ξανά τις ρυθμίσεις του Postfix και βεβαιωθείτε ότι το όνομα διακομιστή (server name) και το όνομα κεντρικού υπολογιστή (hostname) έχουν οριστεί σωστά. Με αυτήν τη ρύθμιση, τα email θα φαίνεται ότι αποστέλλονται από την ακόλουθη διεύθυνση:
|
1 |
<username>@<domain> |
Εδώ, το username θα είναι το όνομα χρήστη του χρήστη του διακομιστή που εκτέλεσε την mail εντολή.
Προώθηση αλληλογραφίας συστήματος
Επαληθεύσαμε με επιτυχία ότι ο διακομιστής email έχει ρυθμιστεί σωστά και είναι λειτουργικός. Τώρα πρέπει να ρυθμιστεί ώστε να προωθεί email για το root. Όλα τα μηνύματα που δημιουργούνται από το σύστημα και αποστέλλονται στον διακομιστή θα προωθούνται σε μια εξωτερική διεύθυνση email. Για τους παραλήπτες email, το /etc/aliases αρχείο περιέχει τη λίστα με τα εναλλακτικά ονόματα. Ανοίξτε το χρησιμοποιώντας το πρόγραμμα επεξεργασίας κειμένου της επιλογής σας:
|
1 |
sudo nano /etc/aliases |
Από προεπιλογή, θα μοιάζει κάπως έτσι:

Στο τέλος του αρχείου, προσθέστε την ακόλουθη γραμμή:
|
1 |
root: <email_address> |

Αυτό ορίζει ότι τα email που αποστέλλονται στο root θα προωθούνται σε μια διεύθυνση email. Για να τεθεί σε ισχύ η αλλαγή, εκτελέστε την ακόλουθη εντολή. Θα ανακατασκευάσει τη βάση δεδομένων ψευδωνύμων που χρησιμοποιεί η mail εντολή:
|
1 |
sudo newaliases |
![]()
Στη συνέχεια, πρέπει να δοκιμάσετε εάν η αλλαγή ήταν επιτυχής. Στείλτε ένα δοκιμαστικό email στο root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
Το email θα πρέπει να φτάσει στην καθορισμένη διεύθυνση email. Μην ξεχάσετε να ελέγξετε το φάκελο των ανεπιθύμητων (spam), καθώς δεν έχει ρυθμιστεί ακόμα κρυπτογράφηση.
Ενεργοποίηση κρυπτογράφησης SMTP
Η αποστολή email σε μη κρυπτογραφημένη μορφή είναι μια επικίνδυνη κίνηση. Για να διασφαλιστεί η ασφάλεια, απαιτείται η ενεργοποίηση της κρυπτογράφησης SMTP. Για να το επιτύχουμε αυτό, θα ζητήσουμε ένα δωρεάν πιστοποιητικό TLS από το Let’s Encrypt για το domain σας.
Για το Ubuntu, είναι το εργαλείο Certbot που κάνει αυτή τη δουλειά. Ευτυχώς, είναι άμεσα διαθέσιμο από το επίσημο αποθετήριο του Ubuntu. Εγκαταστήστε το Certbot με την ακόλουθη εντολή:
|
1 |
sudo apt install certbot |

Υποθέτοντας ότι the server has UFW configured, είναι απαραίτητο να έχετε τη θύρα 80 ανοιχτή, ώστε να μπορεί να πραγματοποιηθεί η επαλήθευση του domain. Εκτελέστε την ακόλουθη εντολή για να την ενεργοποιήσετε:
|
1 |
sudo ufw allow 80 |

Τώρα, εκτελέστε το Certbot για να δημιουργήσετε ένα πιστοποιητικό. Αυτό δίνει εντολή στο Certbot να εκδώσει πιστοποιητικά με κλειδί RSA 4096-bit. Η επαλήθευση θα πραγματοποιηθεί μέσω της θύρας 80 (HTTP):
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
Το αποτέλεσμα θα είναι κάπως έτσι:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for '<domain>' Αναμονή για επαλήθευση... Καθαρισμός up προκλήσεων ΣΗΜΑΝΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ: - Συγχαρητήρια! Το πιστοποιητικό και η αλυσίδα έχουν been αποθηκευτεί στο: /etc/letsencrypt/live/<domain>/fullchain.pem Το αρχείο κλειδιού έχει been αποθηκευτεί στο: /etc/letsencrypt/live/<domain>/privkey.pem Το πιστοποιητικό θα λήξει στις 2020-07-11. Για να αποκτήσετε μια νέα ή τροποποιημένη έκδοση αυτού του πιστοποιητικού στο μέλλον future, απλά εκτελέστε certbot ξανά. Για μη-διαδραστική ανανέωση *όλων* των πιστοποιητικών σας, εκτελέστε "certbot renew" - Αν σας αρέσει Certbot, παρακαλούμε σκεφτείτε να υποστηρίξετε το έργο μας μέσω: Δωρεάς στο ISRG / Let's Encrypt: https://letsencrypt.org/donate Δωρεάς στο EFF: https://eff.org/donate-le |
Το κλειδί θα αποθηκευτεί στον ακόλουθο κατάλογο:
|
1 |
/etc/letsencrypt/live/<domain> |
Τώρα που το πιστοποιητικό σας έχει δημιουργηθεί, ανοίξτε το αρχείο ρυθμίσεων του Postfix σε έναν επεξεργαστή κειμένου:
|
1 |
sudo nano /etc/postfix/main.cf |
Βρείτε την ενότητα TLS παράμετροι:

Μετά από αυτό, αλλάξτε την τιμή των οδηγιών smtpd_tls_cert_file και smtpd_tls_key_file:

Στη συνέχεια, αποθηκεύστε και κλείστε το αρχείο. Για να εφαρμοστούν οι αλλαγές, επανεκκινήστε το Postfix:
|
1 |
sudo systemctl restart postfix |
Τέλος, στείλτε ξανά ένα δοκιμαστικό email σε μια διεύθυνση email προορισμού:
|
1 |
echo "This is email body" | mail -s "Email subject line" <email> |
Το email θα πρέπει τώρα να εμφανίζεται κανονικά όπως τα άλλα email. Αν ελέγξετε τις τεχνικές πληροφορίες του email, θα εμφανίζεται κρυπτογραφημένο.
Τελικές Σκέψεις
Συγχαρητήρια! Ρυθμίσατε με επιτυχία έναν διακομιστή email μόνο για αποστολή, με την υποστήριξη του Postfix. Οι συναλλαγές email είναι επίσης ασφαλείς χρησιμοποιώντας ένα κατάλληλο κλειδί κρυπτογράφησης.
Για περισσότερους τρόπους βελτιστοποίησης της μεταφοράς email, δείτε αυτόν τον οδηγό Οι καλύτεροι τρόποι χρήσης του διακομιστή SMTP της Google.
Καλή συνέχεια!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.