Ενότητα 9 · 9.1
Email από το WordPress
Ενότητα 9: Email, ορατότητα στις μηχανές αναζήτησης (SEO), GDPR, συντήρηση και μεταφορά · Χρόνος ανάγνωσης: 9 λεπτά
Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να διασφαλίσετε ότι το email από το WordPress (φόρμες, παραγγελίες, σύνδεσμοι επαναφοράς κωδικού πρόσβασης) φτάνει αξιόπιστα στον παραλήπτη.
Βασικές έννοιες: wp_mail, PHP mail(), αποστολέας (From), Reply-To, SMTP, πρόσθετο SMTP, mailbox με έλεγχο ταυτότητας, υπηρεσία αποστολής συναλλακτικών email, SPF, DKIM, DMARC, ευθυγράμμιση (alignment), MX αλλού, δοκιμαστικό email
Το WordPress στέλνει περισσότερα email απ' όσα νομίζετε
Ο ιστότοπός σας στέλνει email όταν: συμπληρώνεται μια φόρμα επικοινωνίας, γίνεται μια παραγγελία (στον πελάτη και σε εσάς), δημιουργείται νέος χρήστης, ζητείται επαναφορά ξεχασμένου κωδικού πρόσβασης, προστίθεται νέο σχόλιο, εκτελείται αυτόματη ενημέρωση, προκύπτει κρίσιμο σφάλμα (μάθημα 5.4). Αν αυτό το email δεν φτάνει, συνήθως το αντιλαμβάνεστε μόνο όταν σας καλέσει ένας πελάτης: «συμπλήρωσα τη φόρμα τρεις φορές».
Πώς στέλνει email το WordPress από προεπιλογή
Το WordPress στέλνει τα πάντα μέσω της συνάρτησης wp_mail. Από προεπιλογή, αυτή παραδίδει το email στην συνάρτηση PHP mail(), η οποία το προωθεί στο πρόγραμμα αποστολής email του web server. Αυτό λειτουργεί, αλλά έχει τρία αδύναμα σημεία:
- Ο αποστολέας. Χωρίς ρύθμιση, το WordPress στέλνει ως
wordpress@example.com. Αν αυτή η διεύθυνση δεν υπάρχει, ή αν ο αποστολέας είναι διαφορετικός από το δικό σας domain, οι παραλήπτες δυσπιστούν. - SPF, DKIM και DMARC. Οι server που λαμβάνουν το email ελέγχουν αν ο server που παραδίδει το email επιτρέπεται να στέλνει εκ μέρους του domain σας (SPF), αν το email φέρει έγκυρη ψηφιακή υπογραφή του domain σας (DKIM), και ποια είναι η πολιτική του domain σας αν κάτι από αυτά δεν ισχύει (DMARC). Στο μάθημα DNS (μαθήματα 4.3 έως και 4.5) διαβάζετε πώς λειτουργεί αυτό. Το email μέσω του web server περνά αυτούς τους ελέγχους μόνο αν το DNS και ο server είναι κατάλληλα ρυθμισμένα.
- Email αλλού. Αν το email σας δεν βρίσκεται στον πάροχο φιλοξενίας σας, αλλά για παράδειγμα στο Microsoft 365 ή στο Google Workspace (οι εγγραφές MX σας δείχνουν εκεί), τότε το email μέσω του web server συχνά δεν συμφωνεί με το SPF και το DKIM σας. Επιπλέον, ορισμένοι web server προσπαθούν να παραδώσουν τοπικά το email προς το δικό σας domain αντί μέσω του MX, με αποτέλεσμα να μη φτάνει ποτέ στο πραγματικό σας mailbox.
Σωστή ρύθμιση αποστολέα και Reply-To
Ένα συχνό λάθος στις φόρμες επικοινωνίας: η χρήση της διεύθυνσης του επισκέπτη ως αποστολέα (From). Αυτό φαίνεται λογικό («έτσι μπορώ να πατήσω απάντηση»), όμως ο server σας δεν επιτρέπεται να στέλνει email εκ μέρους του @gmail.com ή του @hotmail.com. Αυτά τα domains έχουν αυστηρή πολιτική DMARC, οπότε ο παραλήπτης απορρίπτει το email ή το τοποθετεί στα ανεπιθύμητα.
Σωστό είναι:
From: Website <website@example.com> (μια διεύθυνση του δικού σας domain)
Reply-To: bezoeker@example.net (η διεύθυνση που συμπλήρωσε ο επισκέπτης)
To: info@example.comΜε το Reply-To η απάντησή σας καταλήγει τελικά στον επισκέπτη. Σχεδόν κάθε πρόσθετο φόρμας έχει αυτά τα δύο πεδία ξεχωριστά.
SMTP: αποστολή μέσω πραγματικού mailbox
Η πιο αξιόπιστη λύση είναι να στέλνει το WordPress email μέσω SMTP: με τον ίδιο τρόπο που στέλνει το δικό σας πρόγραμμα email, με όνομα χρήστη και κωδικό πρόσβασης ενός πραγματικού mailbox. Αυτό γίνεται με ένα πρόσθετο SMTP (για παράδειγμα το WP Mail SMTP, το FluentSMTP ή το Post SMTP· υπάρχουν κι άλλα). Το πρόσθετο αναλαμβάνει το wp_mail και στέλνει το email μέσω του server που ορίζετε εσείς:
| Επιλογή | Για ποιον |
|---|---|
Το mailbox στον δικό σας πάροχο φιλοξενίας (για παράδειγμα website@example.com στον mail server του πακέτου φιλοξενίας σας) | Οι περισσότεροι μικροί ιστότοποι με email στον ίδιο πάροχο |
| Το email σας στο Microsoft 365 ή στο Google Workspace | Αν το email σας βρίσκεται εκεί· συχνά μέσω ειδικής σύνδεσης στο πρόσθετο (OAuth) αντί για κωδικό πρόσβασης, καθώς αυτές οι υπηρεσίες περιορίζουν όλο και περισσότερο την απλή σύνδεση SMTP |
| Μια υπηρεσία αποστολής συναλλακτικών email (μια υπηρεσία εξειδικευμένη στην αποστολή email από ιστότοπους και εφαρμογές) | Ηλεκτρονικά καταστήματα και ιστότοποι που στέλνουν πολλά email |
Πλεονεκτήματα: το email περνά μέσα από έναν server που είναι ήδη ρυθμισμένος με SPF και DKIM για το domain σας, ο αποστολέας είναι μια υπαρκτή διεύθυνση, και πολλά πρόσθετα διατηρούν ένα αρχείο καταγραφής (log), ώστε να βλέπετε τι στάλθηκε και τι απέτυχε.
Προσέξτε μερικά σημεία:
- Χρησιμοποιήστε μια ξεχωριστή διεύθυνση email για τον ιστότοπο (για παράδειγμα
website@), όχι το δικό σας mailbox. Αν ο ιστότοπος παραβιαστεί και ο κωδικός πρόσβασης διαρρεύσει, αυτή η διεύθυνση μπορεί να αντικατασταθεί χωρίς βλάβη. - Ο κωδικός πρόσβασης SMTP βρίσκεται στη βάση δεδομένων ή στο wp-config.php. Χρησιμοποιήστε όπου είναι δυνατό έναν κωδικό πρόσβασης εφαρμογής (app password) ή μια σύνδεση χωρίς κωδικό πρόσβασης.
- Ένα αρχείο καταγραφής email περιέχει προσωπικά δεδομένα (ποιος έστειλε τι). Μην το αφήνετε να μεγαλώνει επ' άπειρον (μάθημα 9.3).
SPF, DKIM και DMARC για τον ιστότοπό σας
Όποιος server κι αν στέλνει, το DNS σας πρέπει να ταιριάζει:
- SPF: η εγγραφή SPF του domain σας πρέπει να αναφέρει τον server που παραδίδει το email. Αν στέλνετε μέσω του mail server του παρόχου φιλοξενίας σας, αυτός συνήθως αναφέρεται ήδη εκεί. Αν στέλνετε μέσω υπηρεσίας συναλλακτικών email, προσθέστε το δικό τους
include:στην ίδια εγγραφή SPF (ποτέ δεύτερη εγγραφή SPF, μάθημα DNS 4.3). - DKIM: ο server αποστολής πρέπει να υπογράφει το email με ένα κλειδί που βρίσκεται στο DNS σας (
<selector>._domainkey.example.com). Στον πάροχο φιλοξενίας σας και στις υπηρεσίες συναλλακτικών email το ενεργοποιείτε εσείς· η υπηρεσία σάς δίνει τις εγγραφές. - DMARC: μια εγγραφή στο
_dmarc.example.com. Ξεκινήστε μεp=noneκαι αυστηροποιήστε όταν όλα λειτουργούν σωστά (μάθημα DNS 4.5).
Για το DMARC, το domain στο From πρέπει να είναι ευθυγραμμισμένο με το domain που περνά τον έλεγχο SPF ή DKIM. Γι' αυτό το «From στο δικό σας domain» είναι τόσο σημαντικό.
Δοκιμή
- Πολλά πρόσθετα SMTP διαθέτουν ένα κουμπί Αποστολή δοκιμαστικού email. Στείλτε ένα σε διεύθυνση άλλου παρόχου (μια διεύθυνση Gmail ή Outlook.com) και δείτε αν φτάνει στα εισερχόμενα.
- Δείτε σε αυτό το email τις κεφαλίδες («Εμφάνιση πρωτοτύπου» ή «Εμφάνιση προέλευσης»). Αναζητήστε
spf=pass,dkim=passκαιdmarc=pass. - Συμπληρώστε τη δική σας φόρμα επικοινωνίας και δείτε αν το email φτάνει, με το σωστό Reply-To.
- Δοκιμάστε επίσης έναν σύνδεσμο επαναφοράς κωδικού πρόσβασης και, αν έχετε κατάστημα, μια δοκιμαστική παραγγελία.
Εργαλεία online όπως το mail-tester.com δίνουν βαθμολογία και εξήγηση· με τον Έλεγχο Email του παρόχου φιλοξενίας σας (στο WebOké ονομάζεται έτσι) ή με το internet.nl ελέγχετε την πλευρά του DNS.
Στην πράξη: έτσι φαίνεται σε έναν πίνακα ελέγχου
Ως παράδειγμα χρησιμοποιούμε το DirectAdmin και ένα πρόσθετο SMTP. Σε άλλους παρόχους φιλοξενίας και πρόσθετα, τα πεδία ονομάζονται παρόμοια.
- Δημιουργήστε στο DirectAdmin, στις E-mail accounts, ένα mailbox
website@example.comμε έναν ισχυρό κωδικό πρόσβασης. - Αναζητήστε στον πάροχο φιλοξενίας σας τις ρυθμίσεις για εξερχόμενο email (όνομα server, θύρα 465 ή 587, κρυπτογράφηση).
- Συμπληρώστε αυτά στο πρόσθετο SMTP, με
website@example.comως αποστολέα. Ενεργοποιήστε την επιλογή «εξαναγκασμός αποστολέα», ώστε και άλλα πρόσθετα να χρησιμοποιούν αυτή τη διεύθυνση. - Ελέγξτε στη Διαχείριση DNS ότι υπάρχουν SPF, DKIM και DMARC για το domain σας.
- Στείλτε ένα δοκιμαστικό email και διαβάστε τις κεφαλίδες.
Σύνοψη
- Το WordPress στέλνει μέσω του wp_mail και από προεπιλογή μέσω της PHP mail()· ο αποστολέας και το DNS καθορίζουν αν το email φτάνει.
- Ορίστε τον αποστολέα (From) σε μια διεύθυνση του δικού σας domain και τη διεύθυνση του επισκέπτη στο Reply-To.
- Ένα πρόσθετο SMTP με ξεχωριστό mailbox ή μια υπηρεσία συναλλακτικών email είναι η πιο αξιόπιστη λύση, με αρχείο καταγραφής.
- Το SPF πρέπει να αναφέρει τον server αποστολής (σε μία εγγραφή), το DKIM πρέπει να είναι ενεργό, το DMARC να ξεκινά με p=none.
- Δοκιμάστε με διεύθυνση άλλου παρόχου και διαβάστε τα spf, dkim και dmarc στις κεφαλίδες.
Κουίζ
Άσκηση
Άσκηση A9.1: Είναι το domain σας έτοιμο να στέλνει email από τον ιστότοπό σας; Συμπληρώστε το domain σας, τη διεύθυνση που χρησιμοποιεί ο ιστότοπός σας ως αποστολέα, και τον server μέσω του οποίου στέλνει email ο ιστότοπός σας (το όνομα του server SMTP, ή «web server» αν δεν έχετε ρυθμίσει τίποτα). Συμπληρώστε επίσης τον επιλογέα DKIM (selector) αν τον γνωρίζετε. Το πρόγραμμα ελέγχει: η διεύθυνση αποστολέα ανήκει στο domain σας, υπάρχει ακριβώς μία εγγραφή SPF και αυτή επιτρέπει τον συγκεκριμένο server, υπάρχει εγγραφή DKIM στον συγκεκριμένο επιλογέα (ή αναφέρει ότι χωρίς επιλογέα δεν μπορεί να γίνει έλεγχος), και υπάρχει έγκυρη εγγραφή DMARC.
Άσκηση D9.1: Ανάγνωση ενός δοκιμαστικού email. Στείλτε ένα δοκιμαστικό email από τον ιστότοπό σας (το κουμπί δοκιμής του πρόσθετου SMTP σας, ή έναν σύνδεσμο επαναφοράς κωδικού πρόσβασης προς έναν δοκιμαστικό λογαριασμό) σε διεύθυνση άλλου παρόχου. Ανοίξτε τις κεφαλίδες αυτού του email και σημειώστε τα αποτελέσματα στα spf, dkim και dmarc, καθώς και ποιο domain αναφέρεται σε κάθε περίπτωση. Στη συνέχεια, συμπληρώστε τη δική σας φόρμα επικοινωνίας και ελέγξτε: φτάνει το email, και η «απάντηση» πηγαίνει στη διεύθυνση που συμπληρώσατε στη φόρμα;
Άσκηση D9.1: Ανάγνωση ενός δοκιμαστικού email
Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.
Τρία αποτελέσματα (pass, fail ή none) με ένα domain, για παράδειγμα "spf=pass smtp.mailfrom=paradeigma.gr". Σε περίπτωση fail, αναφέρετε το επόμενο βήμα (συμπλήρωση SPF, ενεργοποίηση DKIM, πρόσθετο SMTP).
Τα τικ και οι σημειώσεις σας παραμένουν μόνο σε αυτό το πρόγραμμα περιήγησης· δεν τα στέλνουμε πουθενά. Αν έχετε εγγραφεί, αποθηκεύουμε στο Τα μαθήματά μου μόνο ότι έχετε ολοκληρώσει την άσκηση.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké· σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.
- Η αποστολή email μέσω PHP δεν λειτουργεί, οι εγγραφές MX παραπέμπουν αλλού
- Πώς μπορώ να ορίσω τον σωστό αποστολέα με τη mail() της PHP; SMTP
- Μια φόρμα επικοινωνίας στον ιστότοπό σας: αποστολή πεδίων μέσω email και αποτροπή spam
- Πώς λειτουργεί η αποστολή email (SMTP)
- Εγχειρίδιο DirectAdmin 18.10: Δεν μπορώ να στείλω email
- Δωρεάν μάθημα DNS 4.3: SPF: ποιος επιτρέπεται να στέλνει email εκ μέρους του domain σας;
- Δωρεάν μάθημα DNS 4.4: DKIM: η υπογραφή κάτω από το email σας
- Δωρεάν μάθημα DNS 4.5: DMARC: τι πρέπει να κάνουν οι παραλήπτες με ψεύτικα emails
