BillLloydΑρχική συνεισφορά από τον JimMockΓράφτηκε ξανά από τον Ηλεκτρονικό ΤαχυδρομείοΣύνοψηemailΤο ηλεκτρονικό ταχυδρομείο, ευρύτερα γνωστό ως
email, είναι στις μέρες μας μια από τις πλέον διαδεδομένες μορφές
επικοινωνίας. Το κεφάλαιο αυτό παρέχει μια βασική εισαγωγή στη
λειτουργία ενός διακομιστή email στο &os;, καθώς και μια εισαγωγή στη
διαδικασία αποστολής και λήψης email στο &os;. Ωστόσο η αναφορά αυτή
δεν πρέπει να θεωρηθεί πλήρης, καθώς υπάρχουν ακόμα αρκετοί παράγοντες
που πρέπει να ληφθούν υπόψιν και έχουν εδώ παραλειφθεί. Για πιο πλήρη
ανάλυση του θέματος, ο αναγνώστης παραπέμπεται στα πολλά εξαιρετικά
βιβλία που αναφέρονται στο .Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Το λογισμικό που χρησιμοποιείται στην αποστολή και λήψη
ηλεκτρονικού ταχυδρομείου.Που βρίσκονται τα βασικά αρχεία ρυθμίσεων του
sendmail στο &os;.Τη διαφορά μεταξύ απομακρυσμένων και τοπικών θυρίδων
ταχυδρομείου (mailboxes).Πως να εμποδίσετε ανεπιθύμητους spammers από το να
χρησιμοποιήσουν τον δικό σας εξυπηρετητή email ως
αναμεταδότη.Πως να εγκαταστήσετε και να ρυθμίσετε ένα εναλλακτικό
Αντιπρόσωπο Μεταφοράς Ταχυδρομείου (Mail Transfer Agent) στο
σύστημα σας, αντικαθιστώντας έτσι το
sendmail.Πως να αντιμετωπίσετε συνηθισμένα προβλήματα στον
διακομιστή ταχυδρομείου.Πως να χρησιμοποιήσετε το SMTP με το UUCP.Πως να ρυθμίσετε το σύστημα σας μόνο για αποστολή email.Πως να χρησιμοποιήσετε το email μέσω επιλογικής (dialup)
σύνδεσης.Πως να ρυθμίσετε πιστοποίηση αυθεντικότητας στο SMTP για
πρόσθετη ασφάλεια.Πως να εγκαταστήσετε και να χρησιμοποιήσετε μια εφαρμογή
αποστολής και λήψης email για χρήστες, όπως το
mutt.Πως να κατεβάσετε το email σας από ένα απομακρυσμένο διακομιστή
POP ή IMAP.Πως να εφαρμόσετε φίλτρα και κανόνες στην εισερχόμενη
αλληλογραφία σας, με αυτόματο τρόπο.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να ρυθμίσετε σωστά τη σύνδεση του δικτύου σας
().Να ρυθμίσετε σωστά τις πληροφορίες DNS για τον διακομιστή
αλληλογραφίας σας ().Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου
κατασκευαστή ().Χρησιμοποιώντας το Ηλεκτρονικό ΤαχυδρομείοPOPIMAPDNSΣε κάθε ανταλλαγή ηλεκτρονικού ταχυδρομείου, συνεργάζονται πέντε
βασικά τμήματα: Το πρόγραμμα χρήστη,
ο δαίμονας του εξυπηρετητή, το DNS, μια απομακρυσμένη ή τοπική θυρίδα ταχυδρομείου
(mailbox) και
φυσικά ο υπολογιστής που διαχειρίζεται το
email (mailhost).Το Πρόγραμμα ΧρήστηΗ κατηγορία αυτή περιλαμβάνει προγράμματα όπως τα
mutt,
alpine, elm,
και mail, καθώς και προγράμματα που διαθέτουν
GUI όπως είναι τα
balsa,
xfmail (για να δώσουμε μερικά
παραδείγματα) και κάποια πιο
εξελιγμένα όπως είναι οι φυλλομετρητές για το WWW.
Τα προγράμματα αυτά, απλώς μεταβιβάζουν τις συναλλαγές ταχυδρομείου
στον τοπικό mailhost,
είτε καλώντας κάποιον από τους δαίμονες του
εξυπηρετητή που είναι διαθέσιμοι, ή παραδίδοντας τις
απευθείας μέσω TCP.Δαίμονας Εξυπηρετητή Mailhostmail server daemonssendmailmail server daemonspostfixmail server daemonsqmailmail server daemonseximΤο &os; έρχεται με το sendmail
εγκατεστημένο από προεπιλογή, αλλά υποστηρίζει επίσης και μεγάλο
αριθμό από άλλους δαίμονες ταχυδρομείου, περιλαμβανομένων
και των:eximpostfixqmailΟ δαίμονας έχει συνήθως δύο λειτουργίες—είναι υπεύθυνος για
τη λήψη εισερχόμενου mail, όπως επίσης και την παράδοση του
εξερχόμενου mail. Όμως, δεν είναι υπεύθυνος για
τη συλλογή του mail με τη χρήση πρωτοκόλλων όπως τα
POP ή IMAP για την ανάγνωση του
ταχυδρομείου σας, ούτε επιτρέπει τη σύνδεση στις τοπικές θυρίδες
τύπου mbox ή Maildir. Πιθανόν να χρειαστείτε
κάποιο επιπρόσθετο δαίμονα για
αυτό το σκοπό.Παλιότερες εκδόσεις του sendmail
έχουν κάποια σοβαρά προβλήματα ασφαλείας, μέσω των οποίων μπορεί
κάποιος εισβολέας να αποκτήσει τοπική ή απομακρυσμένη
πρόσβαση στο μηχάνημα σας. Για να αποφύγετε προβλήματα τέτοιου
είδους, βεβαιωθείτε ότι χρησιμοποιείτε κάποια πρόσφατη έκδοση.
Εναλλακτικά, μπορείτε να εγκαταστήσετε κάποιο άλλο
MTA από την Συλλογή των
Ports του &os;.Email και DNSΤο Σύστημα Ονομασίας Περιοχών (DNS) και ο δαίμονας του, ο
named, έχουν σημαντικό ρόλο στην παράδοση του
email. Για την παράδοση του email από το ένα site σε ένα άλλο, ο
δαίμονας του εξυπηρετητή θα ψάξει για το απομακρυσμένο site στο DNS,
για να καθορίσει ποιος υπολογιστής λαμβάνει το email για το
συγκεκριμένο προορισμό. Η διαδικασία αυτή συμβαίνει επίσης όταν ο
δικός σας εξυπηρετητής λαμβάνει email από κάποιο απομακρυσμένο
υπολογιστή.MX recordΤο DNS είναι υπεύθυνο για την αντιστοίχηση
ονομάτων υπολογιστών σε διευθύνσεις IP, όπως και για την αποθήκευση
πληροφοριών που σχετίζονται με την παράδοση ηλεκτρονικού
ταχυδρομείου, όπως οι εγγραφές MX. Η εγγραφή MX (Mail Exchanger)
αναγνωρίζει ποιος υπολογιστής (ή υπολογιστές) θα είναι υπεύθυνος
για τη λήψη ταχυδρομείου ενός συγκεκριμένου τομέα (domain). Αν δεν
έχετε εγγραφή MX για τον υπολογιστή ή τον τομέα σας, το email θα
παραδίδεται απευθείας στον υπολογιστή σας, με την προϋπόθεσή ότι
έχετε εγγραφή τύπου A που να δείχνει στον υπολογιστή σας ή στην
IP διεύθυνση του.Μπορείτε να δείτε τις εγγραφές MX για οποιοδήποτε τομέα,
χρησιμοποιώντας την εντολή &man.host.1;, όπως φαίνεται στο
παρακάτω παράδειγμα:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgΛαμβάνοντας MailemailreceivingΟ mailhost είναι υπεύθυνος για την λήψη mail που προορίζεται για
τον τομέα σας. Θα συλλέξει όλο το mail που έρχεται προς τον τομέα,
και θα το αποθηκεύσει είτε στο
mbox (την προεπιλεγμένη μέθοδο για αποθήκευση
mail) ή σε μορφή Maildir, ανάλογα με τις ρυθμίσεις που έχετε κάνει.
Από τη στιγμή που το mail έχει αποθηκευθεί, μπορείτε είτε να το
διαβάσετε τοπικά, χρησιμοποιώντας εφαρμογές όπως το
&man.mail.1; ή το mutt, ή να το δείτε
μέσω απομακρυσμένης σύνδεσης, χρησιμοποιώντας κάποιο πρωτόκολλο όπως
το POP ή το IMAP.
Αυτό σημαίνει ότι αν επιθυμείτε να διαβάζετε το mail σας μόνο τοπικά,
δεν χρειάζεται να εγκαταστήσετε εξυπηρετητή
POP ή IMAP.Πρόσβαση σε Απομακρυσμένες Θυρίδες μέσω POP
και IMAPPOPIMAPΓια να έχετε απομακρυσμένη πρόσβαση στις θυρίδες ταχυδρομείου,
είναι απαραίτητο να έχετε πρόσβαση σε ένα εξυπηρετητή
POP ή IMAP. Τα πρωτόκολλα
αυτά, επιτρέπουν στους χρήστες να συνδέονται στις θυρίδες τους
από απόσταση, με μεγάλη ευκολία. Και τα δύο πρωτόκολλα
(POP και IMAP) επιτρέπουν
στους χρήστες απομακρυσμένη πρόσβαση στις θυρίδες τους, αλλά το
IMAP προσφέρει αρκετά πλεονεκτήματα, ορισμένα
από τα οποία φαίνονται παρακάτω:Το IMAP μπορεί να αποθηκεύσει μηνύματα
σε ένα απομακρυσμένο εξυπηρετητή, όπως επίσης και να τα
ανακτήσει.Το IMAP υποστηρίζει ταυτόχρονες
ενημερώσεις.Το IMAP μπορεί να φανεί εξαιρετικά
χρήσιμο σε συνδέσεις χαμηλής ταχύτητας, καθώς επιτρέπει στους
χρήστες να κατεβάσουν τη δομή των μηνυμάτων, χωρίς να
κατεβάσουν το περιεχόμενο τους. Μπορεί επίσης να εκτελέσει
εργασίες όπως εύρεση μηνυμάτων απευθείας στον εξυπηρετητή,
ελαχιστοποιώντας με αυτό τον τρόπο τη μεταφορά δεδομένων
μεταξύ των πελατών και των εξυπηρετητών.Για να εγκαταστήσετε ένα εξυπηρετητή POP ή
IMAP θα πρέπει να ακολουθήσετε τα επόμενα
βήματα:Επιλέξτε ένα εξυπηρετητή IMAP ή
POP που να εξυπηρετεί τις ανάγκες σας.
Οι παρακάτω εξυπηρετητές POP και
IMAP είναι αρκετά διαδεδομένοι και αποτελούν
καλά παραδείγματα:qpopperteapopimap-uwcourier-imapdovecotΕγκαταστήστε το δαίμονα POP ή
IMAP της επιλογής σας, από την Συλλογή των
Ports.Αν χρειάζεται, τροποποιήστε το αρχείο
/etc/inetd.conf για να φορτώσετε τον
εξυπηρετητή POP ή
IMAP.Θα πρέπει να σημειώσουμε ότι τόσο το POP
όσο και το IMAP μεταδίδουν πληροφορίες όπως
το όνομα χρήστη και τον κωδικό σε μορφή απλού κειμένου. Αυτό
σημαίνει ότι αν θέλετε να ασφαλίσετε τη μετάδοση πληροφοριών
μέσω αυτών των πρωτοκόλλων, θα πρέπει να περάσετε αυτές τις
συνδέσεις μέσω του &man.ssh.1; (tunneling) ή να χρησιμοποιήσετε
SSL. Η διαδικασία tunneling περιγράφεται με λεπτομέρεια στο
και το SSL στο
.Πρόσβαση σε Τοπικές Θυρίδες ΤαχυδρομείουΜπορείτε να έχετε τοπική πρόσβαση στις θυρίδες ταχυδρομείου
χρησιμοποιώντας απευθείας κάποιο πρόγραμμα αποστολής/λήψης
(MUA) στον εξυπηρετητή που είναι αποθηκευμένες.
Κατάλληλες εφαρμογές για αυτό το σκοπό είναι π.χ. το
mutt ή το &man.mail.1;.Ο Εξυπηρετητής Mailmail hostΕξυπηρετητής mail θεωρείται ο υπολογιστής ο οποίος
είναι υπεύθυνος για την παράδοση και λήψη mail για τον υπολογιστή
σας, και ενδεχομένως για το δίκτυο σας.ChristopherShumwayΣυνεισφορά του Ρύθμιση του sendmailsendmailΤο &man.sendmail.8; είναι ο προεπιλεγμένος Αντιπρόσωπος Μεταφοράς
Ταχυδρομείου (Mail Transfer Agent, MTA) στο &os;. Δουλειά του είναι να
δέχεται το email από τους Αντιπροσώπους Email Χρήστη
(Mail User Agents, MUA) και να το παραδίδει στο
κατάλληλο mailer που ορίζεται στο αρχείο ρυθμίσεων του. Το
sendmail μπορεί επίσης να δεχθεί συνδέσεις
δικτύου και να παραδώσει το mail σε τοπικές θυρίδες ή και σε κάποιο
άλλο πρόγραμμα.Το sendmail χρησιμοποιεί τα ακόλουθα
αρχεία ρυθμίσεων:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableΌνομα ΑρχείουΛειτουργία/etc/mail/accessΗ βάση δεδομένων πρόσβασης του
sendmail./etc/mail/aliasesΠαρωνύμια (aliases) για τις θυρίδες (Mailboxes)/etc/mail/local-host-namesΛίστα των υπολογιστών για τους οποίους το
sendmail δέχεται mail/etc/mail/mailer.confΡυθμίσεις του προγράμματος mailer/etc/mail/mailertableΠίνακας παραδόσεων του mailer/etc/mail/sendmail.cfΤο κεντρικό αρχείο ρυθμίσεων του
sendmail/etc/mail/virtusertableΠίνακας εικονικών χρηστών και περιοχών (domains)/etc/mail/accessΗ βάση δεδομένων πρόσβασης καθορίζει ποιοι υπολογιστές ή
διευθύνσεις IP έχουν πρόσβαση στον τοπικό εξυπηρετητή mail και τι
είδους πρόσβαση έχουν. Η καταχώρηση ενός υπολογιστή μπορεί να έχει
τις επιλογές , ,
ή απλά να μεταβιβάζει τον έλεγχο στη ρουτίνα
διαχείρισης λαθών του sendmail με κάποιο
συγκεκριμένο σφάλμα. Οι υπολογιστές που είναι καταχωρημένοι με την
επιλογή , η οποία είναι και η προεπιλεγμένη,
επιτρέπεται να στείλουν email σε αυτό τον υπολογιστή, εφόσον ο
τελικός προορισμός του μηνύματος είναι το τοπικό μηχάνημα. Οι
υπολογιστές που είναι καταχωρημένοι με την επιλογή
απορρίπτονται για οποιαδήποτε επικοινωνία
έχει να κάνει με μετάδοση mail. Οι υπολογιστές που είναι
καταχωρημένοι με την επιλογή , έχουν τη
δυνατότητα να στείλουν mail προς οποιαδήποτε κατεύθυνση μέσω του
συγκεκριμένου εξυπηρετητή.Ρύθμιση της Βάσης Δεδομένων Πρόσβασης του
sendmailcyberspammer.com 550 We do not accept mail from spammers
FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYΣε αυτό το παράδειγμα έχουμε πέντε καταχωρήσεις. Οι διευθύνσεις
που φαίνονται στην αριστερή πλευρά του πίνακα, επηρεάζονται από τη
ενέργεια που φαίνεται στη δεξιά πλευρά. Τα πρώτα δύο παραδείγματα,
επιστρέφουν ένα κωδικό σφάλματος στη ρουτίνα διαχείρισης λαθών του
sendmail. Το μήνυμα εκτυπώνεται στον
απομακρυσμένο υπολογιστή, όταν το mail που λαμβάνεται ανήκει σε
κάποια από τις κατηγορίες της αριστερής πλευράς του πίνακα.
Η επόμενη καταχώρηση απορρίπτει την παραλαβή mail από ένα
συγκεκριμένο υπολογιστή στο Internet, τον
another.source.of.spam. Η επόμενη καταχώρηση κάνει
δεκτές τις συνδέσεις mail από τον υπολογιστή
okay.cyberspammer.com, το όνομα του
οποίου προσδιορίζεται ακριβέστερα σε σχέση με τη γραμμή
cyberspammer.com που είδαμε
παραπάνω. Γραμμές που καθορίζουν ονόματα με μεγαλύτερη ακρίβεια,
έχουν προτεραιότητα σε σχέση με πιο ανακριβείς. Η τελευταία
καταχώρηση επιτρέπει την αναμετάδοση (relaying) ηλεκτρονικού
ταχυδρομείου από υπολογιστές με διευθύνσεις IP που ξεκινάνε με
128.32. Οι υπολογιστές αυτοί, μπορούν να στείλουν
mail μέσω του συγκεκριμένου εξυπηρετητή, το οποίο να κατευθύνεται σε
άλλους εξυπηρετητές ταχυδρομείου.Σε περίπτωση ανανέωσης αυτού του αρχείου, θα πρέπει να εκτελέσετε
την εντολή make στον κατάλογο
/etc/mail/ για να ανανεώσετε τη βάση
δεδομένων./etc/mail/aliasesΗ βάση δεδομένων των παρωνυμίων (aliases), περιέχει μια λίστα από
εικονικές θυρίδες ταχυδρομείου που επεκτείνονται σε άλλους χρήστες,
αρχεία ή και άλλα παρωνύμια. Μερικά παραδείγματα χρήσης του
/etc/mail/aliases φαίνονται παρακάτω:Παρωνύμια Mailroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Η μορφή του αρχείου είναι απλή. Το όνομα της θυρίδας βρίσκεται
στην αριστερή πλευρά της άνω-κάτω τελείας, και επεκτείνεται στον
προορισμό που βρίσκεται στη δεξιά πλευρά. Το πρώτο παράδειγμα,
ορίζει ότι η θυρίδα του χρήστη root θα
είναι στην πραγματικότητα η θυρίδα localuser.
Για την θυρίδα αυτή, γίνεται ξανά αναζήτηση στη βάση δεδομένων των
παρωνυμιών. Αν δεν βρεθεί άλλο όνομα που να ταιριάζει, το μήνυμα θα
παραδοθεί στον τοπικό χρήστη localuser. Το
επόμενο παράδειγμα δείχνει μια λίστα ταχυδρομείου. Τα μηνύματα που
απευθύνονται στη θυρίδα ftp-bugs, κατευθύνονται
σε τρεις τοπικές θυρίδες, τις joe,
eric και paul. Σημειώστε
ότι είναι δυνατόν να καθοριστεί μια απομακρυσμένη θυρίδα
χρησιμοποιώντας τη μορφή user@example.com.
Το επόμενο παράδειγμα, δείχνει πως μπορεί να γίνει εγγραφή του mail
σε ένα αρχείο, στη συγκεκριμένη περίπτωση το
/dev/null. Το τελευταίο παράδειγμα,
δείχνει πως γίνεται η αποστολή mail προς ένα πρόγραμμα.
Στο παράδειγμα αυτό, το μήνυμα γράφεται στην τυποποιημένη είσοδο
(standard input) του προγράμματος
/usr/local/bin/procmail χρησιμοποιώντας ένα
&unix; pipe.Κάθε φορά που γίνεται ενημέρωση αυτού του αρχείου, θα πρέπει να
εκτελείτε την εντολή make στον κατάλογο
/etc/mail/, ώστε να ενημερωθεί η βάση
δεδομένων./etc/mail/local-host-namesΠρόκειται για μια λίστα από ονόματα υπολογιστών, την οποία το
&man.sendmail.8; θα δέχεται ως ονόματα για το τοπικό μηχάνημα.
Τοποθετήστε σε αυτήν τα ονόματα των υπολογιστών ή των τομέων για τους
οποίους θέλετε το sendmail να λαμβάνει
mail. Για παράδειγμα, αν ο συγκεκριμένος εξυπηρετητής mail πρόκειται
να λαμβάνει mail για τον τομέα
example.com και για τον υπολογιστή
mail.example.com, το αρχείο
local-host-names θα μοιάζει με το
παρακάτω:example.com
mail.example.comΚάθε φορά που ενημερώνεται αυτό το αρχείο, θα πρέπει να γίνεται
επανεκκίνηση του &man.sendmail.8; για να διαβάσει τις αλλαγές./etc/mail/sendmail.cfΤο sendmail.cf είναι το κεντρικό αρχείο
ρυθμίσεων του sendmail. Το αρχείο αυτό
ρυθμίζει τη συνολική συμπεριφορά του
sendmail, που περιλαμβάνει μεταξύ άλλων
την επανεγγραφή διευθύνσεων και την αποστολή μηνυμάτων απόρριψης προς
απομακρυσμένους εξυπηρετητές mail. Καθώς το αρχείο αυτό περιέχει τόσο
διαφορετικές ρυθμίσεις, είναι φυσικό να είναι αρκετά πολύπλοκο και
οι λεπτομέρειες του είναι έξω από το σκοπό αυτής της ενότητας.
Ευτυχώς, αυτό το αρχείο σπάνια χρειάζεται να αλλαχθεί σε τυπικούς
εξυπηρετητές mail.Το βασικό αρχείο ρυθμίσεων του sendmail
μπορεί να παραχθεί με τη βοήθεια μακροεντολών τύπου
&man.m4.1; που καθορίζουν τη συμπεριφορά και τα χαρακτηριστικά του
sendmail. Για περισσότερες πληροφορίες,
παρακαλούμε διαβάστε το
/usr/src/contrib/sendmail/cf/README.Για να ισχύσουν οι αλλαγές που κάνετε σε αυτό το αρχείο, θα πρέπει
να επανεκκινήσετε το sendmail./etc/mail/virtusertableΤο αρχείο virtusertable αντιστοιχεί
διευθύνσεις mail εικονικών τομέων σε πραγματικές θυρίδες ταχυδρομείου.
Οι θυρίδες αυτές μπορεί να είναι τοπικές, απομακρυσμένες, παρωνύμια
που έχουν οριστεί στο /etc/mail/aliases,
ή αρχεία.Παράδειγμα Αντιστοίχησης Mail Εικονικού Τομέαroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeΣτο παραπάνω παράδειγμα, έχουμε μια αντιστοίχηση για τον τομέα
example.com. Η επεξεργασία αυτού
του αρχείου γίνεται από πάνω προς τα κάτω, και σταματάει στην εύρεση
του πρώτου ονόματος που ταιριάζει. Η πρώτη γραμμή του παραδείγματος,
αντιστοιχεί το root@example.com στην τοπική θυρίδα
root. Η επόμενη καταχώρηση αντιστοιχεί το
postmaster@example.com στη θυρίδα
postmaster στον υπολογιστή
noc.example.net. Τέλος, αν δεν βρεθεί
καμιά αντιστοίχηση για τον τομέα
example.com, θα εφαρμοστεί η
τελευταία αντιστοίχηση, η οποία ταιριάζει με οποιοδήποτε mail σταλθεί
προς τον τομέα example.com.
Στην περίπτωση αυτή, το μήνυμα θα παραδοθεί στην τοπική θυρίδα
joe.AndrewBoothmanΓράφηκε από τον GregoryNeil ShapiroΟι πληροφορίες που προέρχονται από e-mails έχουν γραφεί
από τον Αλλάζοντας τον Αντιπρόσωπο Μεταφοράς Ταχυδρομείου (MTA)emailchange mtaΌπως έχουμε ήδη αναφέρει, το &os; έρχεται με το
sendmail προεγκατεστημένο ως Αντιπρόσωπο
Μεταφοράς Ταχυδρομείου (Mail Transfer Agent, MTA). Το πρόγραμμα αυτό
είναι από προεπιλογή υπεύθυνο για την εισερχόμενη και εξερχόμενη
αλληλογραφία.Υπάρχει ωστόσο πληθώρα λόγων για τους οποίους κάποιοι διαχειριστές
επιλέγουν να αλλάξουν το MTA του συστήματος τους. Οι λόγοι αυτοί
κυμαίνονται από το ότι απλά θέλουν να δοκιμάσουν κάποιο άλλο MTA, ως
και το ότι χρειάζονται κάποιο ιδιαίτερο χαρακτηριστικό ή δυνατότητα που
υπάρχει σε κάποιο άλλο mailer. Ευτυχώς, το &os; κάνει εύκολη την αλλαγή
του αντιπροσώπου.Εγκαταστήστε Νέο MTAΥπάρχουν αρκετοί MTA για να επιλέξετε. Ένα καλό σημείο εκκίνησης
είναι η Συλλογή των Ports του &os; όπου
και θα μπορέσετε να βρείτε αρκετούς. Φυσικά είστε ελεύθερος να
επιλέξετε όποιο MTA θέλετε από οπουδήποτε, όσο τουλάχιστον μπορείτε
να το κάνετε να εκτελείτε στο &os;.Ξεκινήστε εγκαθιστώντας το νέο σας MTA. Μετά την εγκατάσταση, θα
έχετε την ευκαιρία να αποφασίσετε αν πραγματικά καλύπτει τις ανάγκες
σας, καθώς και να ολοκληρώσετε τις ρυθμίσεις του πριν μεταφέρετε τη
διαχείριση mail του συστήματος από το
sendmail στο νέο σας πρόγραμμα. Κατά την
εγκατάσταση, βεβαιωθείτε ότι το νέο σας λογισμικό δεν θα προσπαθήσει
να εγκατασταθεί πάνω στα υπάρχοντα εκτελέσιμα του συστήματος, όπως το
/usr/bin/sendmail. Διαφορετικά, θα έχετε
ουσιαστικά βάλει το νέο σας λογισμικό mail σε χρήση, πριν προλάβετε
καλά-καλά να το ρυθμίσετε.Παρακαλούμε να διαβάσετε την τεκμηρίωση του MTA που επιλέξατε,
για πληροφορίες σχετικά με τη ρύθμιση του.Απενεργοποιήστε το sendmailΑν απενεργοποιήσετε τη δυνατότητα αποστολής (εξερχόμενα) του
sendmail, είναι σημαντικό να την
αντικαταστήσετε με ένα εναλλακτικό σύστημα παράδοσης mail. Αν
επιλέξετε να μην κάνετε το παραπάνω, τα μηνύματα του συστήματος,
όπως αυτά που παράγονται από το &man.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,
&man.rc.sendmail.8;.Εκκίνηση του Νέου σας MTA κατά την ΕκκίνησηΤο νέο σας MTA θα ξεκινάει κατά την εκκίνηση, αν προσθέσετε μια
κατάλληλη γραμμή στο αρχείο /etc/rc.conf. Δείτε
το παρακάτω παράδειγμα για το
postfix:&prompt.root; echo 'postfix_enable="YES"' >> /etc/rc.confΤο MTA θα ξεκινάει πλέον κατά την εκκίνηση.Αντικαθιστώντας το sendmail από
Προεπιλεγμένο Mailer ΣυστήματοςΤο sendmail είναι τόσο γνωστό ως
στάνταρ λογισμικό στα συστήματα &unix;, ώστε πολλά άλλα προγράμματα
θεωρούν ότι είναι ήδη εγκατεστημένο και ρυθμισμένο. Για το λόγο αυτό,
πολλά εναλλακτικά MTA παρέχουν δικές τους συμβατές υλοποιήσεις του
sendmail. Οι υλοποιήσεις αυτές παρέχουν
παρόμοιο σύνολο εντολών, και μπορούν έτσι να χρησιμοποιηθούν ώστε να
αντικαταστήσουν απευθείας το
sendmail.Για το λόγο αυτό, αν χρησιμοποιείτε κάποιο εναλλακτικό mailer, θα
θέλετε να εξασφαλίσετε ότι άλλα προγράμματα που προσπαθούν να
εκτελέσουν τα τυπικά εκτελέσιμα του
sendmail όπως το
/usr/bin/sendmail, θα εκτελέσουν στην
πραγματικότητα τον επιλεγμένο σας mailer. Ευτυχώς, το &os; παρέχει
ένα σύστημα που καλείτε &man.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ΟλοκληρώνονταςΜόλις έχετε ρυθμίσει τα πάντα όπως επιθυμείτε, μπορείτε είτε
να κάνετε kill τις διεργασίες του
sendmail που δεν χρειάζεστε πλέον και
να εκκινήσετε τις αντίστοιχες του νέου σας λογισμικού, ή απλώς να
κάνετε επανεκκίνηση. Η επανεκκίνηση θα σας δώσει επίσης την
ευκαιρία να βεβαιωθείτε ότι το σύστημα σας έχει ρυθμιστεί σωστά,
ώστε το νέο σας MTA να ξεκινάει αυτόματα σε κάθε εκκίνηση.Αντιμετώπιση ΠροβλημάτωνemailtroubleshootingΓιατί πρέπει να χρησιμοποιώ το πλήρες όνομα (FQDN) για
υπολογιστές που βρίσκονται στον τομέα μου;Το πιο πιθανό είναι να διαπιστώσετε ότι ο υπολογιστής
βρίσκεται στην πραγματικότητα σε διαφορετικό τομέα. Για
παράδειγμα, αν βρίσκεστε στο
foo.bar.edu και θέλετε να
επικοινωνήσετε με ένα υπολογιστή με το όνομα
mumble στον τομέα bar.edu, θα πρέπει να αναφερθείτε
σε αυτόν με το πλήρες του όνομα, mumble.bar.edu, αντί για απλώς
mumble.BINDΠαραδοσιακά, αυτό επιτρεπόταν από τους DNS resolvers του BIND.
Ωστόσο, η τρέχουσα έκδοση του BIND που
περιλαμβάνεται στο &os;, δεν παρέχει πλέον συντομεύσεις για
μη-πλήρη ονόματα τομέων, εκτός για τον τομέα στον οποίο βρίσκεστε.
Έτσι, ένας υπολογιστής με μη-πλήρες όνομα
mumble θα πρέπει να βρεθεί ως mumble.foo.bar.edu, ή θα γίνει αναζήτηση
για αυτόν στο ριζικό τομέα.Η συμπεριφορά αυτή είναι διαφορετική από την προηγούμενη, όπου
η αναζήτηση συνεχιζόταν και στο mumble.bar.edu, και το mumble.edu. Ρίξτε μια ματιά στο
RFC 1535 για το λόγο που το παραπάνω θεωρείτε κακή πρακτική, ή
ακόμα και κενό ασφαλείας.Ένας τρόπος για να παρακάμψετε το πρόβλημα είναι να προσθέσετε
τη γραμμή:
search foo.bar.edu bar.edu
αντί για την προηγούμενη:
domain foo.bar.edu
στο αρχείο /etc/resolv.conf. Βεβαιωθείτε
ωστόσο ότι η σειρά αναζήτησης δεν πηγαίνει πέρα από το
όριο μεταξύ τοπικής και δημόσιας διαχείρισης,
όπως το αποκαλεί το RFC 1535.MX recordΤο sendmail δίνει το μήνυμα
mail loops back to myself (το mail
επιστρέφει στον εαυτό μου)Η απάντηση σε αυτό, υπάρχει στο FAQ του
sendmail όπως φαίνεται παρακάτω:Λαμβάνω αυτά τα μηνύματα λάθους:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Πως μπορώ να λύσω το πρόβλημα;
Έχετε ζητήσει το mail προς ένα τομέα (π.χ. το domain.net) να
προωθείται προς ένα συγκεκριμένο υπολογιστή (στην περίπτωση αυτή
το relay.domain.net) χρησιμοποιώντας μια εγγραφή MX, αλλά το
μηχάνημα αναμετάδοσης (relay) δεν αναγνωρίζει τον εαυτό του ως
domain.net. Προσθέστε το domain.net στο /etc/mail/local-host-names
[είναι γνωστό ως /etc/sendmail.cw πριν την έκδοση 8.10]
(αν χρησιμοποιείτε το FEATURE(use_cw_file)), διαφορετικά προσθέστε το
Cw domain.net στο /etc/mail/sendmail.cf.Μπορείτε να βρείτε το FAQ του
sendmail στη διεύθυνση
, και συνίσταται
να το διαβάσετε αν θέλετε να πειράξετε τις
ρυθμίσεις του mail σας.PPPΠως μπορώ να εκτελέσω εξυπηρετητή mail σε υπολογιστή που
συνδέεται μέσω επιλογικής σύνδεσης PPP;Θέλετε να συνδέσετε ένα &os; μηχάνημα σε ένα τοπικό δίκτυο
(LAN) στο Internet. Το &os; μηχάνημα θα γίνει πύλη ταχυδρομείου
για το LAN. Η σύνδεση PPP δεν είναι αποκλειστική.UUCPMX recordΥπάρχουν τουλάχιστον δύο τρόποι για να το κάνετε αυτό. Ο ένας
είναι με τη χρήση UUCP.Ένας άλλος τρόπος είναι να βάλετε ένα εξυπηρετητή Internet ο
οποίος έχει συνεχή σύνδεση, να σας παρέχει υπηρεσία δευτερεύοντος
MX για τον τομέα σας. Για παράδειγμα, αν ο τομέας της εταιρίας
σας είναι example.com και ο
παροχέας σας Internet έχει ορίσει το
example.net να παρέχει
υπηρεσίες δευτερεύοντος MX για τον τομέα σας:example.com. MX 10 example.com.
MX 20 example.net.Μόνο ένας υπολογιστής μπορεί να καθοριστεί ως τελικός
παραλήπτης (προσθέστε το Cw example.com στο
αρχείο /etc/mail/sendmail.cf στο
example.com).Όταν το μηχάνημα που στέλνει μέσω του
sendmail προσπαθεί να παραδώσει το mail θα
προσπαθήσει να συνδεθεί στο δικό σας
(example.com) μέσω της σύνδεσης
modem. Το πιο πιθανό είναι ότι δεν θα τα καταφέρει, γιατί δεν
θα είστε συνδεμένος εκείνη τη στιγμή. Το
sendmail θα το παραδώσει αυτόματα στην
υπηρεσία δευτερεύοντος MX, π.χ. τον παροχέα σας Internet
(example.net). Το δευτερεύον
MX θα προσπαθεί περιοδικά να συνδεθεί στο μηχάνημα σας και να
παραδώσει το mail στον κύριο εξυπηρετητή MX
(example.com).Μπορείτε να χρησιμοποιήσετε κάτι όπως το παρακάτω ως script
εισόδου:#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispΑν πρόκειται να χρησιμοποιήσετε χωριστό script για την είσοδο
κάποιου χρήστη, μπορείτε να χρησιμοποιήσετε αντί για το παραπάνω
το sendmail -qRexample.com στο script. Αυτό
θα εξαναγκάσει την άμεση επεξεργασία όλου του mail στην ουρά για
το example.com.Πιο λεπτομερής περιγραφή της κατάστασης φαίνεται
παρακάτω:Μήνυμα από την &a.isp;.> παρέχουμε δευτερεύον MX για ένα πελάτη. Ο πελάτης συνδέεται στις
> υπηρεσίες μας αρκετές φορές τη μέρα αυτόματα, για να λαμβάνει τα email του
> στο πρωτεύον του MX (Δεν καλούμε την τοποθεσία του όταν λαμβάνουμε email
> για τον τομέα του). Το sendmail μας στέλνει το mailqueue κάθε 30 λεπτά.
> Τη δεδομένη στιγμή θα πρέπει να μείνει συνδεμένος για 30 λεπτά,
> για να είναι βέβαιος ότι όλο το email του θα έχει
> παραδοθεί στον πρωτεύοντα MX.
>
> Υπάρχει κάποια εντολή που να εξαναγκάσει το sendmail να στείλει
> όλα τα mails άμεσα; Ο χρήστης φυσικά δεν έχει δικαιώματα
> root στο μηχάνημα μας.
Στην ενότητα privacy flags του sendmail.cf, υπάρχει ένας
ορισμός Opgoaway,restrictqrun
Αφαιρέστε το restrictqrun για να επιτρέψετε σε μη-root χρήστες να ξεκινήσουν
την επεξεργασία της ουράς.
Μπορεί επίσης να θέλετε να αναδιατάξετε τα MX. Είμαστε το 1ο MX για αυτού
του είδους τους πελάτες, και έχουμε ορίσει:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
Με τον τρόπο αυτό, ένα απομακρυσμένο site θα παραδίδει απευθείας σε σας,
χωρίς να προσπαθεί τη σύνδεση με το χρήστη. Έπειτα τα στέλνετε στον
πελάτη σας. Αυτό λειτουργεί μόνο για μηχανήματα, και έτσι
χρειάζεται να βάλετε τον πελάτη σας να ονομάσει το μηχάνημα του mail
customer.com και επίσης
hostname.customer.com στο DNS. Απλώς προσθέστε μια εγγραφή
τύπου A στο DNS για το customer.com.Γιατί λαμβάνω συνέχεια μηνύματα λάθους Relaying
Denied όταν στέλνω mail από άλλους
υπολογιστές;Στις προεπιλεγμένες εγκαταστάσεις του &os;, το
sendmail είναι ρυθμισμένο να
στέλνει mail μόνο από τον υπολογιστή στον οποίο εκτελείται.
Για παράδειγμα, αν υπάρχει διαθέσιμος διακομιστής
POP, οι χρήστες θα μπορούν να ελέγχουν το
mail τους από το σχολείο, το γραφείο, ή άλλη απομακρυσμένη
τοποθεσία, αλλά θα εξακολουθούν να μην μπορούν να στείλουν
προς εξωτερικές διευθύνσεις. Τυπικά, λίγο μετά από μια απόπειρα
αποστολής, θα σταλεί ένα email από τον
MAILER-DAEMON με το μήνυμα λάθους
5.7 Relaying Denied.Υπάρχουν διάφοροι τρόποι για να ξεπεράσετε το πρόβλημα.
Ο πλέον απλός είναι να βάλετε τη διεύθυνση του ISP σας σε
ένα αρχείο relay-domains,
/etc/mail/relay-domains. Ένας γρήγορος
τρόπος για να το κάνετε αυτό είναι:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsΑφού δημιουργήσετε ή επεξεργαστείτε αυτό το αρχείο, θα
πρέπει να επανεκκινήσετε το
sendmail. Αυτό δουλεύει μια χαρά
αν είστε διαχειριστής εξυπηρετητή και δεν επιθυμείτε να
στέλνετε mail τοπικά, ή αν θέλετε να χρησιμοποιήσετε ένα
σύστημα τύπου point και click σε ένα
άλλο μηχάνημα ή ακόμα και σε άλλο ISP. Είναι επίσης πολύ
χρήσιμο αν έχετε ρυθμίσει μόνο ένα ή δύο λογαριασμούς mail.
Αν θέλετε να προσθέσετε μεγαλύτερο αριθμό διευθύνσεων, μπορείτε
να ανοίξετε αυτό το αρχείο με τον επιθυμητό συντάκτη
κειμένου, και να προσθέσετε όλους τους τομείς, ένα σε κάθε
γραμμή:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgΤώρα, οποιαδήποτε αποστολή mail από το σύστημα σας
από οποιοδήποτε υπολογιστή αυτής της λίστας (με την
προϋπόθεσή ο χρήστης να έχει λογαριασμό στο σύστημα σας), θα
είναι επιτυχής. Πρόκειται για ένα πολύ καλό τρόπο να
επιτρέψετε στους χρήστες να στέλνουν mail από το σύστημα σας
μέσω απομακρυσμένης σύνδεσης, χωρίς να επιτρέπετε σε άλλους να
στέλνουν SPAM μέσω του συστήματος σας.Προχωρημένα ΘέματαΗ ακόλουθη ενότητα καλύπτει πιο προχωρημένα θέματα, όπως τη ρύθμιση
του mail και ρυθμίσεις για ένα ολόκληρο τομέα.Βασικές ΡυθμίσειςemailconfigurationΧωρίς να χρειαστεί να κάνετε καμιά ρύθμιση, θα μπορείτε να
στείλετε mail προς εξωτερικούς υπολογιστές, αρκεί να έχετε ρυθμίσει
το /etc/resolv.conf ή να εκτελείτε το δικό
σας εξυπηρετητή DNS. Αν θέλετε να παραλαμβάνετε mail για τον
υπολογιστή σας στο δικό σας sendmail MTA,
υπάρχουν δύο μέθοδοι:Μπορείτε να έχετε δικό σας τομέα και δικό σας εξυπηρετητή
DNS για τον τομέα σας. Για παράδειγμα, FreeBSD.orgΝα παραλαμβάνετε mail απευθείας στο μηχάνημα σας. Αυτό
γίνεται αν το mail παραδίδεται απευθείας στον υπολογιστή σας,
χρησιμοποιώντας τον όνομα του (πρέπει να βρίσκεται στο DNS).
Για παράδειγμα,
example.FreeBSD.org.SMTPΌποια επιλογή από τις παραπάνω και να κάνατε, για να είναι δυνατή
η παραλαβή mail απευθείας στον υπολογιστή σας, θα πρέπει να έχετε
μόνιμη στατική διεύθυνση IP (όχι δυναμική, όπως είναι οι περισσότερες
επιλογικές συνδέσεις PPP). Αν βρίσκεστε πίσω από κάποιο firewall,
θα πρέπει να επιτρέπει τη διακίνηση SMTP προς εσάς. Αν θέλετε να
λαμβάνετε mail απευθείας στον υπολογιστή σας, θα πρέπει να
εξασφαλίσετε ένα από τα παρακάτω:MX recordΝα βεβαιωθείτε ότι η εγγραφή MX (με το χαμηλότερο αριθμό)
στο DNS σας, δείχνει προς τη διεύθυνση IP του
μηχανήματος σας.Να βεβαιωθείτε ότι δεν υπάρχει καμιά εγγραφή MX στο DNS για
τον υπολογιστή σας.Όποιο από τα παραπάνω και αν κάνετε, θα μπορείτε να λαμβάνετε
mail απευθείας στον υπολογιστή σας.Δοκιμάστε αυτό:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXΑν βλέπετε το παραπάνω, το mail που κατευθύνεται απευθείας στο
yourlogin@example.FreeBSD.org θα πρέπει
να λαμβάνεται χωρίς προβλήματα (θεωρώντας ότι το
sendmail εκτελείτε σωστά στον υπολογιστή
example.FreeBSD.org).Αν αντί για αυτό δείτε κάτι σαν το παρακάτω:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgΌλο το mail που κατευθύνεται προς τον υπολογιστή σας (example.FreeBSD.org) θα καταλήξει να
συλλέγεται στο hub με το ίδιο όνομα χρήστη, αντί να
σταλεί απευθείας στο μηχάνημα σας.Τις παραπάνω πληροφορίες, τις χειρίζεται ο δικός σας εξυπηρετητής
DNS. Η εγγραφή DNS που περιέχει τις πληροφορίες δρομολόγησης για το
mail, είναι η Mail eXchange.
Αν δεν υπάρχει εγγραφή MX, το mail θα παραδίδεται απευθείας στον
υπολογιστή μέσω της IP διεύθυνσης του.Η καταχώριση MX για τον freefall.FreeBSD.org έμοιαζε κάποια στιγμή με
την παρακάτω:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comΌπως μπορείτε να δείτε, ο freefall είχε πολλές
καταχωρήσεις MX. Η καταχώρηση με τον μικρότερο αριθμό, είναι ο
υπολογιστής που λαμβάνει το mail απευθείας, αν είναι διαθέσιμος.
Αν για κάποιο λόγο δεν είναι προσβάσιμος, οι άλλοι (που ορισμένες
φορές καλούνται backup MXes) δέχονται τα μηνύματα
προσωρινά και τα μεταβιβάζουν σε κάποιο υπολογιστή με χαμηλότερη
αρίθμηση, μόλις γίνει διαθέσιμος. Τελικά τα μηνύματα καταλήγουν
στον υπολογιστή με το μικρότερο αριθμό.Οι εναλλακτικές τοποθεσίες MX, θα πρέπει να χρησιμοποιούν
διαφορετικές γραμμές για τη σύνδεση τους με το Internet. Αυτή είναι
η καλύτερη λύση. Ο παροχέας σας ή κάποιο άλλο φιλικό site, δεν
θα έχουν κανένα πρόβλημα να σας παρέχουν αυτή την υπηρεσία.Mail για τον Τομέα ΣαςΓια να δημιουργήσετε ένα mailhost (δηλ. ένα
εξυπηρετητή mail) θα πρέπει οποιοδήποτε mail στέλνεται προς κάποιο
σταθμό εργασίας, να λαμβάνεται σε αυτόν. Βασικά θα θέλετε να
διεκδικείτε οποιοδήποτε mail που κατευθύνεται προς
οποιοδήποτε όνομα μηχανήματος του τομέα σας (στην περίπτωση μας το
*.FreeBSD.org) και να το ανακατευθύνετε
προς τον εξυπηρετητή mail, ώστε οι χρήστες σας να μπορούν να λάβουν
το mail τους από τον κεντρικό εξυπηρετητή.DNSΓια ευκολία, θα πρέπει να έχετε ένα λογαριασμό χρήστη με το ίδιο
όνομα χρήστη και στα δύο μηχανήματα.
Χρησιμοποιήστε για το σκοπό αυτό την εντολή &man.adduser.8;.Ο mailhost που θα χρησιμοποιήσετε, πρέπει να είναι το καθορισμένο
μηχάνημα για την ανταλλαγή μηνυμάτων για κάθε σταθμό εργασίας του
δικτύου. Αυτό γίνεται στις ρυθμίσεις DNS με τον ακόλουθο
τρόπο:example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; MailhostΜε τον τρόπο αυτό, το mail που κατευθύνεται προς κάποιο σταθμό
εργασίας θα ανακατευθυνθεί προς το mailhost, άσχετα με το που δείχνει
η εγγραφή τύπου Α. Το mail στέλνεται προς τον υπολογιστή MX.Δεν μπορείτε να κάνετε το παραπάνω, αν δεν εκτελείτε το δικό σας
εξυπηρετητή DNS. Αν αυτό δεν συμβαίνει, και δεν μπορείτε να το
αλλάξετε, συνεννοηθείτε με τον παροχέα σας (ISP) ή με όποιον σας
παρέχει υπηρεσίες DNS.Αν παρέχετε υπηρεσίες εικονικού ταχυδρομείου, οι παρακάτω
πληροφορίες θα σας φανούν χρήσιμες. Για το παράδειγμα μας, θα
υποθέσουμε ότι έχετε ένα πελάτη με το δικό του τομέα, στην περίπτωση
μας το customer1.org, και θέλετε
όλο το mail για το customer1.org
να στέλνεται στο δικό σας mailhost, mail.myhost.com. Η καταχώριση σας στο DNS θα
μοιάζει με την παρακάτω:customer1.org MX 10 mail.myhost.comΣημειώστε ότι δεν χρειάζεστε εγγραφή τύπου Α
για το customer1.org αν θέλετε
απλώς να χειρίζεστε email για αυτό τον τομέα.Να έχετε υπόψη σας ότι δεν θα μπορείτε να κάνετε ping το customer1.org αν δεν υπάρχει για αυτό
εγγραφή τύπου Α.Το τελευταίο πράγμα που πρέπει να κάνετε, είναι να ορίσετε στο
sendmail που εκτελείται στο δικό σας
mailhost, για ποιους τομείς ή / και μηχανήματα θα δέχεται mail.
Υπάρχουν μερικοί διαφορετικοί τρόποι για να γίνει αυτό. Μπορείτε να
χρησιμοποιήσετε έναν από τους παρακάτω:Προσθέστε τα μηχανήματα στο αρχείο
/etc/mail/local-host-names αν χρησιμοποιείτε
τη δυνατότητα FEATURE(use_cw_file).
Αν χρησιμοποιείτε κάποια έκδοση του
sendmail πριν την 8.10, το αρχείο είναι
το /etc/sendmail.cw.Προσθέστε μια γραμμή Cwyour.host.com στο
αρχείο σας /etc/sendmail.cf ή στο αρχείο
/etc/mail/sendmail.cf αν χρησιμοποιείτε
την έκδοση 8.10 του sendmail ή κάποια
μεταγενέστερη.SMTP με UUCPΗ προεπιλεγμένη ρύθμιση του sendmail
που έρχεται με το &os;, προορίζεται για δικτυακές τοποθεσίες που είναι
απευθείας συνδεδεμένες στο Internet. Σε περιπτώσεις που είναι
επιθυμητή η ανταλλαγή email μέσω UUCP, θα πρέπει να χρησιμοποιηθεί
διαφορετικό αρχείο ρυθμίσεων για το
sendmail.Η χειροκίνητη ρύθμιση του αρχείου
/etc/mail/sendmail.cf ανήκει στα προχωρημένα
θέματα. Η έκδοση 8 του sendmail παράγει
αρχεία ρυθμίσεων μέσω του προεπεξεργαστή &man.m4.1;, όπου οι ρυθμίσεις
γίνονται σε ένα ανώτερο επίπεδο αφαίρεσης. Μπορείτε να βρείτε τα
αρχεία ρύθμισης του&man.m4.1; στον κατάλογο
/usr/share/sendmail/cf. Διαβάστε το
README στον κατάλογο cf
για μια βασική εισαγωγή στις ρυθμίσεις του &man.m4.1;.Ο καλύτερος τρόπος για την παράδοση mail μέσω του UUCP, είναι με
την χρήση της δυνατότητας mailertable. Παράγεται με
αυτό τον τρόπο μια βάση δεδομένων που μπορεί να χρησιμοποιήσει το
sendmail για να πάρει αποφάσεις σχετικά
με την δρομολόγηση.Θα πρέπει αρχικά να δημιουργήσετε το αρχείο
.mc. Θα βρείτε μερικά παραδείγματα στον κατάλογο
/usr/share/sendmail/cf/cf.
Υποθέτοντας ότι έχετε ονομάσει το αρχείο σας
foo.mc, το μόνο που χρειάζεται να κάνετε για να
το μετατρέψετε σε ένα έγκυρο αρχείο sendmail.cf
είναι:&prompt.root; cd /etc/mail
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfΈνα τυπικό αρχείο .mc θα δείχνει όπως το
παρακάτω:VERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCPΟι γραμμές που περιέχουν τις δυνατότητες
accept_unresolvable_domains,
nocanonify, and
confDONT_PROBE_INTERFACES θα αποτρέψουν τη χρήση
του DNS κατά την παράδοση του mail. Η οδηγία
UUCP_RELAY απαιτείται για την υποστήριξη παράδοσης
μέσω του UUCP. Απλώς τοποθετήστε εκεί ένα όνομα μηχανήματος στο
Internet που να μπορεί να χειριστεί διευθύνσεις ψευδο-τομέων .UUCP.
Το πιο πιθανό είναι να βάλετε εκεί τον αναμεταδότη (relay) για mail
που παρέχει ο ISP σας.Έχοντας κάνει το παραπάνω, θα χρειαστείτε ένα αρχείο
/etc/mail/mailertable. Αν έχετε μόνο μια σύνδεση
με τον έξω κόσμο που χρησιμοποιείται για όλα σας τα mail, το παρακάτω
αρχείο είναι επαρκές:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayΈνα πιο πολύπλοκο παράδειγμα θα μοιάζει με το παρακάτω:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:Οι τρεις πρώτες γραμμές χειρίζονται ειδικές περιπτώσεις, όπου το
mail που απευθύνεται σε κάποιο τομέα δεν θα πρέπει να σταλθεί στην
προεπιλεγμένη διαδρομή, αλλά αντίθετα σε κάποιο γειτονικό UUCP
προκειμένου να συντομευθεί το μονοπάτι παράδοσης.
Η επόμενη γραμμή χειρίζεται το mail προς τον τοπικό τομέα Ethernet,
όπου είναι δυνατή η παράδοση μέσω SMTP. Τέλος, οι γειτονικοί UUCP
αναφέρονται με γραφή ψευδο-τομέων UUCP ώστε να επιτρέπεται σε κάποιον
uucp-neighbor
!recipient
να παρακάμψει τους προεπιλεγμένους κανόνες. Η τελευταία γραμμή είναι
πάντα μια μοναδική τελεία, η οποία ταιριάζει με οτιδήποτε άλλο, με
παράδοση UUCP σε ένα γειτονικό UUCP ο οποίος ενεργεί ως γενική πύλη
mail προς τον υπόλοιπο κόσμο. Όλα τα ονόματα υπολογιστών που
βρίσκονται μετά το uucp-dom: θα πρέπει να είναι
έγκυροι UUCP γείτονες, όπως μπορείτε να βεβαιώσετε χρησιμοποιώντας
το uuname.Σας υπενθυμίζουμε ότι αυτό το αρχείο πρέπει να μετατραπεί σε μια
βάση δεδομένων DBM πριν χρησιμοποιηθεί. Μπορείτε να βάλετε τη γραμμή
εντολών που απαιτείται για να επιτευχθεί αυτό ως σχόλιο στην αρχή
του αρχείου mailertable. Πρέπει πάντοτε να
εκτελείτε αυτή την εντολή κάθε φορά που αλλάζετε το αρχείο
mailertable.Μια τελευταία υπόδειξη: αν δεν είστε βέβαιοι για το αν θα
λειτουργήσει κάποια συγκεκριμένη δρομολόγηση mail, θυμηθείτε την επιλογή
του sendmail. Αυτή
ξεκινάει το sendmail σε
κατάσταση δοκιμής διευθύνσεων. Γράψτε
3,0, ακολουθούμενο από τη διεύθυνση που θέλετε να
ελέγξετε για δρομολόγηση mail. Η τελευταία γραμμή θα σας πει τον
εσωτερικό αντιπρόσωπο mail που χρησιμοποιήθηκε, τη διεύθυνση προορισμού
με την οποία κλήθηκε, καθώς και την (πιθανώς μεταφρασμένη) διεύθυνση.
Μπορείτε να βγείτε από αυτή την κατάσταση, πληκτρολογώντας
CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranΣυνεισφορά από τον Ρύθμιση Εξυπηρετητή Μόνο για ΑποστολήΥπάρχουν πολλές περιπτώσεις, που μπορεί να θέλετε μόνο να στέλνετε
mail μέσω κάποιου αναμεταδότη. Μερικά παραδείγματα:Ο υπολογιστής σας χρησιμοποιείται ως desktop, αλλά θέλετε να
χρησιμοποιήσετε προγράμματα όπως το &man.send-pr.1;. Για να γίνει
αυτό θα πρέπει να χρησιμοποιήσετε τον αναμεταδότη mail που παρέχει
ο ISP σας.Ο υπολογιστής σας είναι ένας εξυπηρετητής που δεν χειρίζεται το
mail τοπικά, αλλά χρειάζεται να το δώσει εξ' ολοκλήρου σε κάποιο
αναμεταδότη για επεξεργασία.Οποιοδήποτε σχεδόν MTA είναι ικανό να καλύψει
τον παραπάνω ρόλο. Δυστυχώς, μπορεί να είναι πολύ δύσκολο να
ρυθμίσετε σωστά ένα πλήρες MTA ώστε απλώς να
στέλνει το mail προς αναμετάδοση. Προγράμματα όπως το
sendmail και το
postfix είναι υπερβολικά μεγάλα για αυτή
τη δουλειά.Επιπρόσθετα, αν χρησιμοποιείτε κάποια συνηθισμένη υπηρεσία
πρόσβασης στο Internet, η συμφωνία με την εταιρία παροχής μπορεί να
σας απαγορεύει να εκτελείτε το δικό σας
εξυπηρετητή mail.Ο ευκολότερος τρόπος για να εκπληρώσετε αυτές τις ανάγκες είναι
να εγκαταστήσετε το port mail/ssmtp
Εκτελέστε τις ακόλουθες εντολές ως root:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanΜετά την εγκατάσταση, το
mail/ssmtp μπορεί να ρυθμιστεί με
ένα αρχείο τεσσάρων μόλις γραμμών, το οποίο βρίσκεται στο
/usr/local/etc/ssmtp/ssmtp.conf:root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_Βεβαιωθείτε ότι χρησιμοποιείτε την πραγματική διεύθυνση email για
τον root. Βάλτε τον αναμεταδότη mail του ISP σας
στη θέση mail.example.com (μερικοί ISP τον
ονομάζουν εξυπηρετητή εξερχόμενου ταχυδρομείου ή
εξυπηρετητή SMTP).Βεβαιωθείτε ότι έχετε απενεργοποιήσει πλήρως το
sendmail, ακόμα και την υπηρεσία εξερχόμενων
μηνυμάτων. Δείτε το
για λεπτομέρειες.Υπάρχουν κάποιες ακόμα διαθέσιμες επιλογές στο
mail/ssmtp. Δείτε το παράδειγμα του
αρχείου ρυθμίσεων στο /usr/local/etc/ssmtp ή τη
σελίδα manual του ssmtp για περισσότερα
παραδείγματα και πληροφορίες.Ρυθμίζοντας το ssmtp με αυτό τον τρόπο,
θα είναι δυνατή η σωστή λειτουργία οποιουδήποτε λογισμικού στον
υπολογιστή σας που χρειάζεται να στείλει mail. Επίσης δεν παραβιάζεται
με αυτό τον τρόπο η άδεια χρήσης του ISP σας και δεν μπορεί ο
υπολογιστής σας να παραβιαστεί και να χρησιμοποιηθεί για την αποστολή
ανεπιθύμητων μηνυμάτων (spam).Χρησιμοποιώντας το Mail Μέσω Επιλογικής (Dialup) ΣύνδεσηςΑν έχετε στατική διεύθυνση IP, δεν θα χρειαστεί να αλλάξετε καμιά
από τις προεπιλογές. Ρυθμίστε το όνομα του υπολογιστή σας ώστε να
ταιριάζει με αυτό που σας έχει οριστεί για το Internet, και το
sendmail θα κάνει τα υπόλοιπα.Αν λαμβάνετε δυναμική IP και χρησιμοποιείτε επιλογική PPP σύνδεση
με το Internet, πιθανόν διαθέτετε μια θυρίδα ταχυδρομείου (mailbox)
στον εξυπηρετητή mail του παροχέα σας. Ας υποθέσουμε ότι ο τομέας του
ISP σας είναι example.net, και ότι
το όνομα χρήστη σας είναι user, το μηχάνημα σας
λέγεται bsd.home, και ο ISP σας, σας έχει
πει ότι μπορείτε να χρησιμοποιήσετε το
relay.example.net ως αναμεταδότη για
το mail.Για να μπορέσετε να λάβετε mail από τη θυρίδα σας, θα χρειαστείτε
κάποιο αντιπρόσωπο ανάληψης (retrieval agent). Το βοηθητικό πρόγραμμα
fetchmail είναι μια καλή επιλογή, καθώς
υποστηρίζει πολλά διαφορετικά πρωτόκολλα. Το πρόγραμμα αυτό είναι
διαθέσιμο ως πακέτο ή από την Συλλογή των Ports
(mail/fetchmail). Συνήθως, ο
ISP σας θα παρέχει την υπηρεσία
POP. Αν χρησιμοποιείτε PPP
χρήστη, μπορείτε να κατεβάσετε αυτόματα το mail σας μετά την
αποκατάσταση της σύνδεσης σας, χρησιμοποιώντας την ακόλουθη καταχώριση
στο /etc/ppp/ppp.linkup:MYADDR:
!bg su user -c fetchmailΑν χρησιμοποιείτε το sendmail (όπως
φαίνεται παρακάτω) για να παραδώσετε mail σε μη-τοπικούς λογαριασμούς,
πιθανόν να θέλετε το sendmail να
επεξεργάζεται την ουρά του mail αμέσως μετά την αποκατάσταση της
σύνδεσης. Για να το κάνετε αυτό, βάλτε την παρακάτω εντολή αμέσως μετά
την εντολή fetchmail στο αρχείο
/etc/ppp/ppp.linkup: !bg su user -c "sendmail -q"Ας υποθέσουμε ότι υπάρχει ένας λογαριασμός για τον
user στον bsd.home. Στον προσωπικό κατάλογο του
user στο bsd.home, δημιουργήστε ένα αρχείο
.fetchmailrc:poll example.net protocol pop3 fetchall pass MySecretΤο αρχείο αυτό δεν θα πρέπει να είναι αναγνώσιμο από κανένα, εκτός
από τον user, καθώς περιέχει τον κωδικό
MySecret.Για να μπορείτε να στείλετε mail με τη σωστή επικεφαλίδα
from:, θα πρέπει να ρυθμίσετε το
sendmail να χρησιμοποιεί το
user@example.net αντί για το
user@bsd.home. Ίσως επίσης να θέλετε να
ρυθμίσετε το sendmail να στέλνει όλο το mail
μέσω του relay.example.net, ώστε η μετάδοση
του mail να είναι ταχύτερη.Το ακόλουθο αρχείο .mc θα πρέπει να είναι
επαρκές:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnlΔιαβάστε την προηγούμενη ενότητα για λεπτομέρειες σχετικά με την
μετατροπή αυτού του αρχείου .mc σε ένα αρχείο
sendmail.cf. Επίσης, μη ξεχάσετε να
επανεκκινήσετε το sendmail μετά την
ενημέρωση του sendmail.cf.JamesGorhamΓράφτηκε από τον Πιστοποίηση Αυθεντικότητας στο SMTPΗ χρήση SMTP με πιστοποίηση αυθεντικότητας στον
εξυπηρετητή ταχυδρομείου σας, μπορεί να σας προσφέρει μια σειρά από
οφέλη. Μπορεί να προσθέσει ένα ακόμα επίπεδο ασφάλειας στο
sendmail, ενώ έχει και το πλεονέκτημα ότι
δίνει τη δυνατότητα στους χρήστες φορητών υπολογιστών (που συχνά
συνδέονται μέσω διαφορετικών δικτύων) να χρησιμοποιούν τον ίδιο
εξυπηρετητή ταχυδρομείου χωρίς την ανάγκη επαναρύθμισης κάθε φορά του
προγράμματος αποστολής / λήψης ταχυδρομείου.Εγκαταστήστε το
security/cyrus-sasl2
από τη Συλλογή των Ports. Το port αυτό
υποστηρίζει μια σειρά από επιλογές που μπορείτε να θέσετε κατά
την μεταγλώττιση. Για να μπορέσετε να χρησιμοποιήσετε την
μέθοδο αυθεντικοποίησης στο SMTP που συζητάμε εδώ, βεβαιωθείτε
ότι είναι ενεργοποιημένη η επιλογή .Μετά την εγκατάσταση του
security/cyrus-sasl2,
τροποποιήστε το αρχείο
/usr/local/lib/sasl2/Sendmail.conf
(ή δημιουργήστε το αν δεν υπάρχει) και προσθέστε την παρακάτω
γραμμή:pwcheck_method: saslauthdΕγκαταστήστε έπειτα το
security/cyrus-sasl2-saslauthd,
και προσθέστε στο /etc/rc.conf την ακόλουθη
γραμμή:saslauthd_enable="YES"Τέλος, ξεκινήστε το δαίμονα saslauthd:&prompt.root; /usr/local/etc/rc.d/saslauthd startΟ δαίμονας αυτός δρα ως ενδιάμεσος για το
sendmail ώστε να γίνεται πιστοποίηση
αυθεντικότητας μέσω της βάσης δεδομένων κωδικών
passwd του &os; συστήματος σας. Με αυτό τον
τρόπο απαλλάσσεστε από την ανάγκη δημιουργίας νέου σετ από ονόματα
χρηστών και κωδικούς για κάθε χρήστη που χρειάζεται να
χρησιμοποιήσει πιστοποίηση στο SMTP.
Χρησιμοποιείται το ίδιο όνομα και κωδικός, τόσο για είσοδο στο
σύστημα, όσο και για το mail.Επεξεργαστείτε τώρα το /etc/make.conf και
προσθέστε τις ακόλουθες γραμμές:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2Οι γραμμές αυτές, παρέχουν στο
sendmail τις κατάλληλες ρυθμίσεις ώστε
να συνδεθεί σωστά με το
cyrus-sasl2 κατά τη διάρκεια
της μεταγλώττισης. Βεβαιωθείτε ότι είναι εγκατεστημένο το πακέτο
cyrus-sasl2 πριν ξεκινήσετε
την επαναμεταγλώττιση του
sendmail.Επαναμεταγλωττίστε το sendmail
εκτελώντας τις παρακάτω εντολές:&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make installΗ μεταγλώττιση του sendmail δεν
πρέπει να παρουσιάσει προβλήματα, αν το
/usr/src δεν έχει αλλάξει σε μεγάλο βαθμό
και εφόσον υπάρχουν οι κοινόχρηστες βιβλιοθήκες που
απαιτούνται.Μετά την μεταγλώττιση και επανεγκατάσταση του
sendmail, επεξεργαστείτε το αρχείο
/etc/mail/freebsd.mc (ή όποιο αρχείο
χρησιμοποιείτε ως .mc. Πολλοί διαχειριστές
επιλέγουν να χρησιμοποιήσουν την έξοδο της εντολής &man.hostname.1;
ως όνομα για το αρχείο .mc για να εξασφαλίσουν
ότι είναι μοναδικό). Προσθέστε σε αυτό τις ακόλουθες
γραμμές:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnlΟι επιλογές αυτές ρυθμίζουν τις διαφορετικές μεθόδους που
έχει στη διάθεση του το sendmail,
προκειμένου να πιστοποιήσει τους χρήστες. Αν θέλετε να
χρησιμοποιήσετε κάποια μέθοδο διαφορετική από το
pwcheck, δείτε την τεκμηρίωση που
περιλαμβάνεται.Τέλος, εκτελέστε &man.make.1; ενώ βρίσκεστε στον κατάλογο
/etc/mail. Με τον τρόπο αυτό, θα
χρησιμοποιηθεί το νέο σας .mc αρχείο και
θα δημιουργηθεί ένα αρχείο .cf με όνομα
freebsd.cf (ή οτιδήποτε όνομα είχατε δώσει
στο αρχείο .mc). Χρησιμοποιήστε έπειτα την
εντολή make install restart, η οποία θα
αντιγράψει το αρχείο στο sendmail.cf, και
θα επανεκκινήσει σωστά το sendmail.
Για περισσότερες λεπτομέρειες σχετικά με αυτή τη διαδικασία, θα
πρέπει να διαβάσετε το αρχείο
/etc/mail/Makefile.Αν όλα πήγαν καλά, θα πρέπει να μπορείτε να δώσετε τα στοιχεία
εισόδου σας στο πρόγραμμα που χρησιμοποιείτε για αποστολή και λήψη
mail, και να στείλετε ένα δοκιμαστικό μήνυμα. Για να διερευνήσετε
περισσότερο τη λειτουργία, θέστε την επιλογή
του sendmail στο
13 και παρακολουθήστε το /var/log/maillog
για τυχόν λάθη.Για περισσότερες πληροφορίες, παρακαλούμε να δείτε τη σελίδα του
sendmail που αφορά την
πιστοποίηση
αυθεντικότητας στο SMTP.MarcSilverΣυνεισφορά του Προγράμματα Ταχυδρομείου για τον ΧρήστηMail User AgentsΈνα πρόγραμμα Αντιπροσώπου Ταχυδρομείου Χρήστη (Mail User Agent,
MUA), είναι μια εφαρμογή που χρησιμοποιείται για την
αποστολή και λήψη email. Επιπλέον, καθώς το email
εξελίσσεται και γίνεται πιο πολύπλοκο, τα
MUA γίνονται όλο και ισχυρότερα όσο αφορά τον τρόπο
που αλληλεπιδρούν με το email. Αυτό δίνει στους χρήστες περισσότερες
λειτουργίες και ευελιξία. To &os; περιέχει υποστήριξη για μεγάλο αριθμό
από προγράμματα ταχυδρομείου, και όλα μπορούν να εγκατασταθούν πολύ
εύκολα μέσω της Συλλογής των Ports του &os;. Οι χρήστες
μπορούν να επιλέξουν μεταξύ γραφικών προγραμμάτων, όπως το
evolution ή το
balsa, και προγράμματα κονσόλας όπως τα
mutt, alpine
ή mail, ή ακόμα και τις διεπαφές web που προσφέρονται
από μερικούς μεγάλους οργανισμούς.mailΤο &man.mail.1; είναι το προεπιλεγμένο πρόγραμμα ταχυδρομείου
(MUA) in &os;. Πρόκειται για ένα
MUA κονσόλας, το οποίο προσφέρει όλες τις βασικές
λειτουργίες που απαιτούνται για την αποστολή και λήψη email
σε μορφή κειμένου, αν και έχει περιορισμένες δυνατότητες όσο αφορά
συνημμένα αρχεία και υποστηρίζει μόνο τοπικές θυρίδες.Αν και το mail δεν υποστηρίζει εγγενώς τη
λήψη email μέσω διακομιστών POP ή
IMAP, είναι ωστόσο δυνατόν να κατεβάσετε τα
email σε μια τοπική θυρίδα (mbox) χρησιμοποιώντας
κάποια εφαρμογή όπως το fetchmail, το
οποίο θα συζητήσουμε αργότερα σε αυτό το κεφάλαιο ().Για την αποστολή και λήψη email, εκτελέστε την εντολή
mail:&prompt.user; mailΤα περιεχόμενα της θυρίδας του χρήστη στον κατάλογο
/var/mail θα διαβαστούν
αυτόματα από το πρόγραμμα mail.
Αν η θυρίδα ταχυδρομείου είναι άδεια, το πρόγραμμα τερματίζεται με
το μήνυμα ότι δεν βρέθηκε αλληλογραφία. Μετά την ανάγνωση της
θυρίδας, ξεκινά η διεπαφή της εφαρμογής και εμφανίζεται μια λίστα με
μηνύματα. Τα μηνύματα αριθμούνται αυτόματα, όπως φαίνεται στο
παρακάτω παράδειγμα:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"Τα μηνύματα μπορούν πλέον να διαβαστούν με την εντολή
t της εντολής mail, ακολουθούμενη
με τον αριθμό του mail που θέλετε να εμφανιστεί. Στο παράδειγμα αυτό
θα διαβάσουμε το πρώτο μήνυμα:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.Όπως φαίνεται στο παραπάνω παράδειγμα, η χρήση του πλήκτρου
t θα προκαλέσει την εμφάνιση του μηνύματος με
πλήρεις επικεφαλίδες. Για να δείτε ξανά τη λίστα με τα μηνύματα,
χρησιμοποιήστε το πλήκτρο h.Αν το mail απαιτεί απάντηση, μπορείτε να χρησιμοποιήσετε την
εντολή mail χρησιμοποιώντας τις ενσωματωμένες
εντολές R ή r. Το πλήκτρο
R οδηγεί το mail να απαντήσει
μόνο στον αποστολέα του μηνύματος, ενώ το r απαντάει
όχι μόνο στον αποστολέα, αλλά σε όλους τους παραλήπτες του μηνύματος.
Μπορείτε επίσης να προσθέσετε μετά από τις εντολές αυτές, τον αριθμό
του μηνύματος στο οποίο θέλετε να απαντήσετε. Αφού το κάνετε αυτό,
θα πρέπει να γράψετε την απάντηση σας και να σημειώσετε το τέλος της
γράφοντας μια μόνο . σε μια νέα γραμμή. Μπορείτε να
δείτε ένα παράδειγμα παρακάτω:& R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTΓια να στείλετε νέο mail, θα πρέπει να χρησιμοποιήσετε το πλήκτρο
m, ακολουθούμενο από την διεύθυνση του παραλήπτη.
Μπορείτε να δώσετε πολλαπλούς παραλήπτες, χωρίζοντας μεταξύ τους
τις διευθύνσεις με ,. Μπορείτε έπειτα να βάλετε το
θέμα του μηνύματος και να συνεχίσετε με το περιεχόμενο. Το τέλος του
μηνύματος καθορίζεται γράφοντας μια μοναδική . σε μια
νέα γραμμή.& mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOTΌσο βρίσκεστε μέσα στην εντολή mail, μπορείτε
να χρησιμοποιήσετε το πλήκτρο ? για την εμφάνιση
βοήθειας οποιαδήποτε στιγμή. Μπορείτε επίσης να συμβουλευτείτε την
σελίδα manual του &man.mail.1; για περισσότερες πληροφορίες σχετικά
με την εντολή mail.Όπως αναφέραμε προηγουμένως, η εντολή &man.mail.1; δεν
σχεδιάστηκε αρχικά για να χειρίζεται συνημμένα, και για το λόγο
αυτό οι δυνατότητες τις στο συγκεκριμένο θέμα είναι μικρές.
Νεώτερα MUA, όπως το
mutt, χειρίζονται τα συνημμένα με πολύ
πιο έξυπνο τρόπο. Αλλά αν παρ' όλα αυτά επιθυμείτε να
χρησιμοποιήσετε την εντολή mail, μάλλον θα
σας φανεί χρήσιμο το port
converters/mpack.muttΤο mutt είναι ένα μικρό, αλλά
πολύ ισχυρό πρόγραμμα αποστολής και λήψης mail, με εξαιρετικά
χαρακτηριστικά τα οποία περιλαμβάνουν:Την ικανότητα να δείχνει μηνύματα με την μορφή
συζητήσεωνΥποστήριξη PGP για ψηφιακή υπογραφή και κρυπτογράφηση
emailΥποστήριξη MIMEΥποστήριξη MaildirΕξαιρετικές δυνατότητες παραμετροποίησηςΌλες αυτές οι δυνατότητες, κάνουν το
mutt ένα από τα πιο εξελιγμένα διαθέσιμα
προγράμματα ταχυδρομείου. Δείτε την τοποθεσία για περισσότερες πληροφορίες
σχετικά με το mutt.Μπορείτε να εγκαταστήσετε τη σταθερή έκδοση του
mutt μέσω του port mail/mutt, ενώ και η τρέχουσα υπό εξέλιξη
έκδοση είναι διαθέσιμη μέσω του port mail/mutt-devel. Μετά την εγκατάσταση
του port, μπορείτε να εκτελέσετε το mutt,
με την ακόλουθη εντολή:&prompt.user; muttΤο mutt θα διαβάσει αυτόματα τα
περιεχόμενα της θυρίδας ταχυδρομείου χρήστη στον κατάλογο /var/mail, και θα δείξει τα περιεχόμενα
του αν αυτό είναι εφικτό. Αν δεν υπάρχουν mails στη θυρίδα του
χρήστη, το mutt θα εισέλθει σε κατάσταση
αναμονής εντολών. Το παρακάτω παράδειγμα, δείχνει το
mutt να απεικονίζει μια λίστα
μηνυμάτων:Για να διαβάσετε ένα email, επιλέξτε το χρησιμοποιώντας τα
βελάκια, και πιέστε Enter. Μπορείτε να δείτε ένα
παράδειγμα απεικόνισης mail από το mutt
παρακάτω:Όπως και το &man.mail.1;, το mutt,
σας επιτρέπει να απαντήσετε τόσο στον αποστολέα του μηνύματος, όσο και
σε όλους τους παραλήπτες. Για να απαντήσετε μόνο στον αποστολέα του
email, χρησιμοποιήστε το πλήκτρο
r. Για να απαντήσετε στην ομάδα χρηστών η οποία
περιλαμβάνει τόσο τον αρχικό αποστολέα, όσο και τους υπόλοιπους
παραλήπτες του μηνύματος, χρησιμοποιήστε το πλήκτρο
g.Το mutt χρησιμοποιεί το
&man.vi.1; ως συντάκτη κειμένου για δημιουργία και απάντηση σε
email. Η ρύθμιση αυτή μπορεί να αλλαχθεί από το χρήστη
δημιουργώντας ή τροποποιώντας το αρχείο
.muttrc στον προσωπικό του κατάλογο, και
θέτοντας τη μεταβλητή editor, ή αλλάζοντας την
μεταβλητή περιβάλλοντος EDITOR. Δείτε την τοποθεσία
για περισσότερες
πληροφορίες σχετικά με τη ρύθμιση του
mutt.Για να συντάξετε ένα νέο μήνυμα, πιέστε το πλήκτρο
m. Αφού γράψετε το κατάλληλο θέμα, το
mutt θα ξεκινήσει το &man.vi.1;
επιτρέποντας σας να γράψετε το mail. Μόλις ολοκληρώσετε,
αποθηκεύστε και τερματίστε το vi και το
mutt θα συνεχίσει, δείχνοντας σας μια
οθόνη περίληψης του mail το οποίο πρόκειται να σταλεί. Για να
στείλετε το mail, πιέστε το πλήκτρο y. Μπορείτε
να δείτε παρακάτω ένα παράδειγμα της οθόνης περίληψης:Το mutt περιέχει επίσης εκτεταμένη
βοήθεια, στην οποία μπορείτε να έχετε πρόσβαση σχεδόν από κάθε σημείο
του μενού, πιέζοντας το πλήκτρο ?. Η γραμμή στην
κορυφή της οθόνης δείχνει επίσης τις συντομεύσεις πληκτρολογίου,
όπου υπάρχουν.alpineΤο alpine απευθύνεται κυρίως στον
αρχάριο χρήστη, αλλά περιλαμβάνει επίσης κάποια προχωρημένα
χαρακτηριστικά.Το alpine έχει ιστορικό προβλημάτων
ασφαλείας. Στο παρελθόν, ανακαλύφθηκαν προβλήματα που επέτρεπαν σε
απομακρυσμένους εισβολείς να εκτελέσουν το δικό τους κώδικα στο
τοπικό σύστημα, στέλνοντας απλώς ένα ειδικά διαμορφωμένο email.
Όλα αυτά τα γνωστά προβλήματα έχουν πλέον
διορθωθεί, αλλά ο κώδικας του alpine
είναι γραμμένος με ιδιαίτερα ανασφαλή τρόπο, και ο Υπεύθυνος
Ασφάλειας του &os;, πιστεύει ότι είναι αρκετά πιθανόν να υπάρχουν
και άλλα κενά ασφαλείας που δεν έχουν ανακαλυφθεί ακόμα.
Εγκαταστήστε το alpine με δική σας
ευθύνη.Η τρέχουσα έκδοση του alpine μπορεί να
εγκατασταθεί χρησιμοποιώντας το port mail/alpine. Μετά την εγκατάσταση του
port το alpine μπορεί να ξεκινήσει
χρησιμοποιώντας την παρακάτω εντολή:&prompt.user; alpineΤην πρώτη φορά που θα εκτελέσετε το
alpine θα σας δείξει μια αρχική σελίδα
χαιρετισμού, με μια σύντομη εισαγωγή, καθώς και μια αίτηση από την
ομάδα ανάπτυξης του alpine να τους στείλετε
ένα ανώνυμο mail το οποίο θα τους βοηθήσει να έχουν μια ιδέα για το
πόσοι χρήστες χρησιμοποιούν το λογισμικό. Για να στείλετε αυτό το
ανώνυμο μήνυμα, πιέστε Enter, ή εναλλακτικά πιέστε
E για να κλείσετε την οθόνη χαιρετισμού χωρίς να
στείλετε το ανώνυμο μήνυμα. Ένα παράδειγμα της σελίδας χαιρετισμού
φαίνεται παρακάτω:Θα εμφανιστεί κατόπιν το κύριο μενού, στο οποίο μπορείτε να
μετακινηθείτε εύκολα χρησιμοποιώντας τα βελάκια. Αυτό το κύριο μενού
παρέχει πλήκτρα συντόμευσης για δημιουργία νέων mail, για
ανίχνευση στους καταλόγους mail, και ακόμα για διαχείριση καταχωρήσεων
στο βιβλίο διευθύνσεων. Κάτω από το κύριο μενού, εμφανίζονται
συντομεύσεις πληκτρολογίου σχετικές με την εργασία που γίνεται τη
συγκεκριμένη στιγμή.Ο προεπιλεγμένος κατάλογος που ανοίγει το
alpine είναι το
inbox. Για να δείτε το
ευρετήριο των μηνυμάτων, πιέστε το I, ή επιλέξτε το
MESSAGE INDEX όπως φαίνεται
παρακάτω:Το ευρετήριο μηνυμάτων δείχνει μηνύματα από τον τρέχοντα
κατάλογο, και μπορείτε να μετακινηθείτε σε αυτό με τα βελάκια.
Μπορείτε να διαβάσετε το επιλεγμένο μήνυμα, πιέζοντας το πλήκτρο
Enter.Στην εικόνα που φαίνεται παρακάτω, το
alpine απεικονίζει ένα υπόδειγμα μηνύματος.
Στο κάτω μέρος της οθόνης φαίνονται σχετικές συντομεύσεις
πληκτρολογίου. Ένα παράδειγμα τέτοιας συντόμευσης, είναι το πλήκτρο
r το οποίο λέει στο MUA να
δημιουργήσει απάντηση προς το τρέχον μήνυμα που απεικονίζεται.Η απάντηση σε ένα mail μέσω του alpine
γίνεται με τη χρήση του συντάκτη κειμένου
pico, ο οποίος εγκαθίσταται από
προεπιλογή μαζί με το alpine.
Το pico διευκολύνει τη μετακίνηση μέσα στο
μήνυμα, και είναι κάπως πιο εύκολο για τους αρχάριους χρήστες σε
σχέση με το &man.vi.1; ή το &man.mail.1;. Μόλις ολοκληρώσετε την
απάντηση, μπορείτε να στείλετε το μήνυμα πιέζοντας τα πλήκτρα
CtrlX. Το alpine θα σας ζητήσει να
το επιβεβαιώσετε.Μπορείτε να προσαρμόσετε το alpine
με τη χρήση της επιλογής SETUP από το κύριο
μενού. Συμβουλευθείτε την τοποθεσία για περισσότερες
πληροφορίες.MarcSilverΣυνεισφορά από τον Χρησιμοποιώντας το fetchmailfetchmailΤο fetchmail είναι ένας πλήρης πελάτης
για IMAP και POP, ο οποίος
επιτρέπει στους χρήστες να κατεβάζουν αυτόματα mail από απομακρυσμένους
εξυπηρετητές IMAP και POP και
να το αποθηκεύουν σε τοπικές θυρίδες, από όπου μπορεί έπειτα να υπάρχει
πιο εύκολη πρόσβαση. Το fetchmail μπορεί να
εγκατασταθεί χρησιμοποιώντας το port mail/fetchmail και παρέχει διάφορα
χαρακτηριστικά, μερικά από τα οποία περιλαμβάνουν:Υποστήριξη των πρωτοκόλλων POP3,
APOP, KPOP,
IMAP, ETRN και
ODMR.Δυνατότητα προώθησης email μέσω SMTP, το
οποίο επιτρέπει τη φυσιολογική λειτουργία του φιλτραρίσματος, της
προώθησης, και των παρωνυμίων (aliases).Μπορεί να λειτουργήσει σε κατάσταση δαίμονα, ώστε να ελέγχει
περιοδικά για νέα μηνύματα.Μπορεί να ανακτά πολλαπλές θυρίδες και να τις προωθεί, ανάλογα
με τις ρυθμίσεις του, σε διαφορετικούς τοπικούς χρήστες.Αν και είναι έξω από τους σκοπούς αυτού του κειμένου να εξηγήσει
όλες τις δυνατότητες του fetchmail, θα
αναφερθούμε σε κάποιες βασικές λειτουργίες.
Το fetchmail χρησιμοποιεί ένα αρχείο
ρυθμίσεων γνωστό ως .fetchmailrc, για να
λειτουργήσει σωστά. Το αρχείο αυτό περιέχει τις πληροφορίες του
εξυπηρετητή αλλά και τα στοιχεία εισόδου του χρήστη. Λόγω των
ευαίσθητων πληροφοριών του αρχείου αυτού, σας συμβουλεύουμε να
χρησιμοποιήσετε την παρακάτω εντολή ώστε η ανάγνωση του να επιτρέπεται
μόνο από τον ιδιοκτήτη του:&prompt.user; chmod 600 .fetchmailrcΤο .fetchmailrc που φαίνεται παρακάτω είναι ένα
παράδειγμα με το οποίο μπορείτε να κατεβάσετε τη θυρίδα ενός χρήστη
μέσω του πρωτοκόλλου POP. Κατευθύνει το
fetchmail να συνδεθεί στο example.com χρησιμοποιώντας όνομα χρήστη
joesoap και κωδικό XXX.
Το παράδειγμα υποθέτει ότι ο χρήστης joesoap είναι
επίσης και χρήστης του τοπικού συστήματος.poll example.com protocol pop3 username "joesoap" password "XXX"Το επόμενο παράδειγμα, δείχνει σύνδεση σε πολλαπλούς
POP και IMAP εξυπηρετητές, και
ανακατευθύνει σε διαφορετικούς τοπικούς χρήστες όπου είναι
απαραίτητο:poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;Το βοηθητικό πρόγραμμα fetchmail μπορεί
να λειτουργήσει σε κατάσταση δαίμονα, αν το εκτελέσετε με την επιλογή
, ακολουθούμενη από ένα διάστημα (σε δευτερόλεπτα)
το οποίο θα χρησιμοποιηθεί για να ερωτώνται οι εξυπηρετητές που
είναι καταχωρημένοι στο αρχείο .fetchmailrc.
Το παρακάτω παράδειγμα οδηγεί το fetchmail
να ανιχνεύει για νέο mail κάθε 600 δευτερόλεπτα:&prompt.user; fetchmail -d 600Μπορείτε να βρείτε περισσότερες πληροφορίες για το
fetchmail στην τοποθεσία .MarcSilverΣυνεισφορά από τον Χρησιμοποιώντας το procmailprocmailΤο βοηθητικό πρόγραμμα procmail είναι
μια απίστευτα ισχυρή εφαρμογή που μπορεί να χρησιμοποιηθεί για το
φιλτράρισμα του εισερχόμενου mail. Επιτρέπει στους χρήστες να
ορίζουν κανόνες οι οποίοι μπορεί να ταιριάζουν σε
εισερχόμενα mail και να εκτελούν διάφορες λειτουργίες, ή να
ανακατευθύνουν το mail σε εναλλακτικές θυρίδες ή / και διευθύνσεις
ταχυδρομείου. Το procmail μπορεί να
εγκατασταθεί χρησιμοποιώντας το port mail/procmail. Μετά την εγκατάσταση του,
μπορεί να ενσωματωθεί σχεδόν σε οποιοδήποτε
MTA. Συμβουλευθείτε την τεκμηρίωση του
MTA που χρησιμοποιείτε για περισσότερες πληροφορίες.
Εναλλακτικά, μπορείτε να ενσωματώσετε το
procmail προσθέτοντας την ακόλουθη γραμμή
σε ένα αρχείο .forward στον κατάλογο του χρήστη,
χρησιμοποιώντας τις δυνατότητες του
procmail:"|exec /usr/local/bin/procmail || exit 75"Στην παρακάτω ενότητα, θα δείξουμε μερικούς από τους βασικούς
κανόνες του procmail, καθώς και σύντομες
περιγραφές της λειτουργίας τους. Πρέπει να τοποθετήσετε αυτούς (και
άλλους) κανόνες σε ένα αρχείο .procmailrc, το οποίο
θα πρέπει να βρίσκεται μέσα στον κατάλογο του χρήστη:Μπορείτε να βρείτε τους περισσότερους από αυτούς τους κανόνες, στη
σελίδα manual του &man.procmailex.5;.Προώθηση όλου του email της διεύθυνσης
user@example.com προς την εξωτερική
διεύθυνση goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comΠροώθηση όλων των email που είναι μικρότερα από 1000 bytes προς μια
εξωτερική διεύθυνση email goodmail@example2.com::0
* < 1000
! goodmail@example2.comΑποστολή όλου του mail που στάλθηκε προς το
alternate@example.com σε μια θυρίδα που καλείται
alternate::0
* ^TOalternate@example.com
alternateΑποστολή όλου του mail με θέμα Spam προς το
/dev/null::0
^Subject:.*Spam
/dev/nullΜια χρήσιμη λύση που ξεχωρίζει τα email από τις λίστες ταχυδρομείου
&os;.org και τοποθετεί το κάθε
μήνυμα σε διαφορετική θυρίδα::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}