28.4 Αλλάζοντας τον Αντιπρόσωπο Μεταφοράς Ταχυδρομείου (MTA)

Γράφηκε από τον Andrew Boothman. Οι πληροφορίες που προέρχονται από e-mails έχουν γραφεί από τον Gregory Neil Shapiro.

Όπως έχουμε ήδη αναφέρει, το FreeBSD έρχεται με το sendmail προεγκατεστημένο ως Αντιπρόσωπο Μεταφοράς Ταχυδρομείου (Mail Transfer Agent, MTA). Το πρόγραμμα αυτό είναι από προεπιλογή υπεύθυνο για την εισερχόμενη και εξερχόμενη αλληλογραφία.

Υπάρχει ωστόσο πληθώρα λόγων για τους οποίους κάποιοι διαχειριστές επιλέγουν να αλλάξουν το MTA του συστήματος τους. Οι λόγοι αυτοί κυμαίνονται από το ότι απλά θέλουν να δοκιμάσουν κάποιο άλλο MTA, ως και το ότι χρειάζονται κάποιο ιδιαίτερο χαρακτηριστικό ή δυνατότητα που υπάρχει σε κάποιο άλλο mailer. Ευτυχώς, το FreeBSD κάνει εύκολη την αλλαγή του αντιπροσώπου.

28.4.1 Εγκαταστήστε Νέο MTA

Υπάρχουν αρκετοί MTA για να επιλέξετε. Ένα καλό σημείο εκκίνησης είναι η Συλλογή των Ports του FreeBSD όπου και θα μπορέσετε να βρείτε αρκετούς. Φυσικά είστε ελεύθερος να επιλέξετε όποιο MTA θέλετε από οπουδήποτε, όσο τουλάχιστον μπορείτε να το κάνετε να εκτελείτε στο FreeBSD.

Ξεκινήστε εγκαθιστώντας το νέο σας MTA. Μετά την εγκατάσταση, θα έχετε την ευκαιρία να αποφασίσετε αν πραγματικά καλύπτει τις ανάγκες σας, καθώς και να ολοκληρώσετε τις ρυθμίσεις του πριν μεταφέρετε τη διαχείριση mail του συστήματος από το sendmail στο νέο σας πρόγραμμα. Κατά την εγκατάσταση, βεβαιωθείτε ότι το νέο σας λογισμικό δεν θα προσπαθήσει να εγκατασταθεί πάνω στα υπάρχοντα εκτελέσιμα του συστήματος, όπως το /usr/bin/sendmail. Διαφορετικά, θα έχετε ουσιαστικά βάλει το νέο σας λογισμικό mail σε χρήση, πριν προλάβετε καλά-καλά να το ρυθμίσετε.

Παρακαλούμε να διαβάσετε την τεκμηρίωση του MTA που επιλέξατε, για πληροφορίες σχετικά με τη ρύθμιση του.

28.4.2 Απενεργοποιήστε το sendmail

Προειδοποίηση: Αν απενεργοποιήσετε τη δυνατότητα αποστολής (εξερχόμενα) του sendmail, είναι σημαντικό να την αντικαταστήσετε με ένα εναλλακτικό σύστημα παράδοσης mail. Αν επιλέξετε να μην κάνετε το παραπάνω, τα μηνύματα του συστήματος, όπως αυτά που παράγονται από το periodic(8), δεν θα μπορούν να παραδοθούν μέσω email, όπως είναι το αναμενόμενο. Πολλά τμήματα του συστήματος σας αναμένουν ότι υπάρχει σε λειτουργία ένα σύστημα συμβατό με το sendmail. Αν οι εφαρμογές συνεχίζουν να χρησιμοποιούν τα εκτελέσιμα του sendmail προσπαθώντας να στείλουν email μετά την απενεργοποίηση του, το mail πιθανώς θα βρεθεί σε μια ανενεργή ουρά του sendmail και δεν θα παραδοθεί ποτέ.

Για να απενεργοποιήσετε εντελώς το sendmail, συμπεριλαμβανομένης και της υπηρεσίας εξερχόμενων μηνυμάτων, χρησιμοποιήστε:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

στο /etc/rc.conf.

Αν θέλετε να απενεργοποιήσετε μόνο την υπηρεσία εισερχομένων του sendmail θα πρέπει να θέσετε:

sendmail_enable="NO"

στο /etc/rc.conf. Περισσότερες πληροφορίες για τις επιλογές εκκίνησης του sendmail, διατίθενται από την αντίστοιχη σελίδα manual, rc.sendmail(8).

28.4.3 Εκκίνηση του Νέου σας MTA κατά την Εκκίνηση

Το νέο σας MTA θα ξεκινάει κατά την εκκίνηση, αν προσθέσετε μια κατάλληλη γραμμή στο αρχείο /etc/rc.conf. Δείτε το παρακάτω παράδειγμα για το postfix:

# echo 'postfix_enable="YES"' >> /etc/rc.conf

Το MTA θα ξεκινάει πλέον κατά την εκκίνηση.

28.4.4 Αντικαθιστώντας το sendmail από Προεπιλεγμένο Mailer Συστήματος

Το sendmail είναι τόσο γνωστό ως στάνταρ λογισμικό στα συστήματα UNIX®, ώστε πολλά άλλα προγράμματα θεωρούν ότι είναι ήδη εγκατεστημένο και ρυθμισμένο. Για το λόγο αυτό, πολλά εναλλακτικά MTA παρέχουν δικές τους συμβατές υλοποιήσεις του sendmail. Οι υλοποιήσεις αυτές παρέχουν παρόμοιο σύνολο εντολών, και μπορούν έτσι να χρησιμοποιηθούν ώστε να αντικαταστήσουν «απευθείας» το sendmail.

Για το λόγο αυτό, αν χρησιμοποιείτε κάποιο εναλλακτικό mailer, θα θέλετε να εξασφαλίσετε ότι άλλα προγράμματα που προσπαθούν να εκτελέσουν τα τυπικά εκτελέσιμα του sendmail όπως το /usr/bin/sendmail, θα εκτελέσουν στην πραγματικότητα τον επιλεγμένο σας mailer. Ευτυχώς, το FreeBSD παρέχει ένα σύστημα που καλείτε mailwrapper(8) και το οποίο αναλαμβάνει αυτή τη δουλειά για σας.

Όταν το sendmail λειτουργεί όπως έχει εγκατασταθεί αρχικά, θα βρείτε κάτι όπως το παρακάτω στο /etc/mail/mailer.conf:

sendmail    /usr/libexec/sendmail/sendmail
send-mail   /usr/libexec/sendmail/sendmail
mailq       /usr/libexec/sendmail/sendmail
newaliases  /usr/libexec/sendmail/sendmail
hoststat    /usr/libexec/sendmail/sendmail
purgestat   /usr/libexec/sendmail/sendmail

Αυτό σημαίνει ότι όταν εκτελείται κάποια από αυτές τις συνηθισμένες εντολές (όπως το ίδιο το sendmail), το σύστημα στην πραγματικότητα εκτελεί ένα αντίγραφο του mailwrapper που ονομάζεται sendmail, και το οποίο ελέγχει το mailer.conf και εκτελεί το /usr/libexec/sendmail/sendmail αντί αυτού. Το σύστημα αυτό διευκολύνει ιδιαίτερα την αλλαγή των εκτελέσιμων που εκτελούνται στην πραγματικότητα όταν γίνεται κλήση των προεπιλεγμένων λειτουργιών του sendmail.

Έτσι, αν θέλετε να εκτελείται το /usr/local/supermailer/bin/sendmail-compat αντί για το sendmail, θα μπορούσατε να αλλάξετε το /etc/mail/mailer.conf ώστε να γράφει:

sendmail    /usr/local/supermailer/bin/sendmail-compat
send-mail   /usr/local/supermailer/bin/sendmail-compat
mailq       /usr/local/supermailer/bin/mailq-compat
newaliases  /usr/local/supermailer/bin/newaliases-compat
hoststat    /usr/local/supermailer/bin/hoststat-compat
purgestat   /usr/local/supermailer/bin/purgestat-compat

28.4.5 Ολοκληρώνοντας

Μόλις έχετε ρυθμίσει τα πάντα όπως επιθυμείτε, μπορείτε είτε να κάνετε kill τις διεργασίες του sendmail που δεν χρειάζεστε πλέον και να εκκινήσετε τις αντίστοιχες του νέου σας λογισμικού, ή απλώς να κάνετε επανεκκίνηση. Η επανεκκίνηση θα σας δώσει επίσης την ευκαιρία να βεβαιωθείτε ότι το σύστημα σας έχει ρυθμιστεί σωστά, ώστε το νέο σας MTA να ξεκινάει αυτόματα σε κάθε εκκίνηση.

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.