Email & Αποστολή 6 λεπτά ανάγνωση

Πώς να Φτιάξεις SPF Record Βήμα-Βήμα

Πλήρης οδηγός για το SPF record: ποια mechanisms να βάλεις (include/mx/ip4), -all vs ~all, έτοιμα παραδείγματα για Google Workspace & Microsoft 365, και πώς αποφεύγεις το όριο 10 DNS lookups.

Τι Είναι το SPF Record (και Γιατί το Χρειάζεσαι)

Το SPF (Sender Policy Framework) είναι μια εγγραφή TXT στο DNS που δηλώνει ποιοι servers επιτρέπεται να στέλνουν email για το domain σου. Όταν ένας παραλήπτης (Gmail, Outlook κ.λπ.) δέχεται μήνυμα από εσένα, ελέγχει αν η IP που το έστειλε υπάρχει στο SPF σου. Αν όχι, το μήνυμα θεωρείται ύποπτο και πάει spam — ή απορρίπτεται. Χωρίς SPF, ο καθένας μπορεί να πλαστογραφήσει (spoof) τη διεύθυνσή σου.

Βήμα 1: Βρες Ποιος Στέλνει Email για Εσένα

Πριν γράψεις οτιδήποτε, κάνε λίστα όλων των πηγών που στέλνουν email με το domain σου. Αν ξεχάσεις μία, τα email της θα μπλοκάρονται. Συνήθεις πηγές:

  • Ο mail server του hosting σου (cPanel/Plesk → συνήθως η ίδια IP με το site, ή ένα mail.example.com)
  • Google Workspace ή Microsoft 365
  • Πάροχοι newsletter / transactional (Mailchimp, SendGrid, Mailgun, Amazon SES)
  • CRM, τιμολόγηση, ή plugins (π.χ. WooCommerce μέσω SMTP)

Βήμα 2: Σύνταξη του Record

Ένα SPF record ξεκινά πάντα με v=spf1 και τελειώνει με ένα all mechanism. Στη μέση μπαίνουν τα mechanisms που εξουσιοδοτούν αποστολείς:

MechanismΤι κάνει
mxΕπιτρέπει τους servers που είναι στα MX records του domain σου
aΕπιτρέπει την IP της A εγγραφής του domain
ip4:1.2.3.4Επιτρέπει μια συγκεκριμένη IPv4 (ή range ip4:1.2.3.0/24)
ip6:…Το ίδιο για IPv6
include:_spf.google.com«Δανείζεται» το SPF ενός παρόχου (Google, Microsoft κ.λπ.)
-all / ~allΤι να γίνει με ό,τι ΔΕΝ ταιριάζει (δες Βήμα 3)

Βήμα 3: Διάλεξε -all ή ~all

Το τελευταίο mechanism ορίζει την πολιτική για κάθε αποστολέα που δεν εξουσιοδοτείται:

  • -all (hard fail): «Οτιδήποτε άλλο είναι πλαστό — απόρριψέ το.» Η σωστή επιλογή για παραγωγή, αλλά μόνο αφού έχεις σιγουρευτεί ότι όλες οι πηγές είναι μέσα.
  • ~all (soft fail): «Μάλλον πλαστό — δέξου το αλλά σημείωσέ το.» Καλό για αρχική δοκιμή, ώστε να μη χαθούν email αν ξέχασες κάποια πηγή.
  • ?all (neutral): Δεν εκφράζει άποψη — ουσιαστικά άχρηστο, απόφυγέ το.

Σύσταση: ξεκίνα με ~all, παρακολούθησε για λίγες μέρες, και μόλις επιβεβαιώσεις ότι όλα τα νόμιμα email περνούν, γύρνα σε -all.

Βήμα 4: Πρόσθεσέ το ως TXT Record

Στον DNS πάροχό σου (registrar, Cloudflare, cPanel → Zone Editor) πρόσθεσε μία εγγραφή:

Type:  TXT
Host:  @           (δηλαδή το ίδιο το domain, π.χ. example.com)
Value: v=spf1 include:_spf.google.com ~all
⚠️ Μόνο ΕΝΑ SPF record ανά domain. Αν έχεις δύο ξεχωριστές TXT εγγραφές που ξεκινούν με v=spf1, το αποτέλεσμα είναι PermError και αποτυγχάνει η επικύρωση. Συγχώνευσέ τα σε ένα: βάλε όλα τα include: στην ίδια γραμμή.

Έτοιμα Παραδείγματα

ΣενάριοSPF record
Google Workspacev=spf1 include:_spf.google.com ~all
Microsoft 365v=spf1 include:spf.protection.outlook.com -all
Hosting (cPanel/Plesk) μόνοv=spf1 a mx ~all
Google + SendGridv=spf1 include:_spf.google.com include:sendgrid.net -all

Έγραψες το record; Επιβεβαίωσε ότι είναι έγκυρο και ότι όλες οι πηγές περνούν:

→ SPF / DKIM / DMARC Checker

Το Όριο των 10 DNS Lookups

Το SPF επιτρέπει το πολύ 10 DNS lookups κατά την επικύρωση. Κάθε include:, a, mx και redirect μετράει. Αν τα ξεπεράσεις, το αποτέλεσμα είναι PermError και το SPF θεωρείται αποτυχημένο — ακόμα κι αν η IP είναι σωστή. Πρακτικές για να μείνεις κάτω από το όριο:

  • Πέτα include: για παρόχους που δεν χρησιμοποιείς πια.
  • Αντικατέστησε ένα βαρύ include: με σταθερές ip4:/ip6: αν ο πάροχος δίνει σταθερές IP.
  • Απόφυγε τα a/mx αν δεν στέλνεις από αυτές τις IP.

Συχνά Λάθη

  • Δύο SPF recordsPermError. Πάντα ένα.
  • Ξεχασμένος αποστολέας (π.χ. το newsletter) → τα email του πάνε spam.
  • -all πολύ νωρίς, πριν επιβεβαιώσεις όλες τις πηγές → χάνονται νόμιμα μηνύματα.
  • SPF μόνο, χωρίς DKIM/DMARC → το SPF «σπάει» σε forwarding. Συμπλήρωσέ το με DMARC.

Συχνές Ερωτήσεις

Πόσα SPF records πρέπει να έχω;
Ακριβώς ένα ανά domain. Δύο ξεχωριστές TXT εγγραφές με v=spf1 προκαλούν PermError. Αν έχεις πολλούς αποστολείς, βάλε όλα τα include: στην ίδια γραμμή.
Ποια είναι η διαφορά -all και ~all;
-all (hard fail) λέει «απόρριψε ό,τι δεν ταιριάζει» — η σωστή τελική επιλογή. ~all (soft fail) λέει «δέξου αλλά σημείωσέ το ως ύποπτο» — ιδανικό για αρχική δοκιμή ώστε να μη χαθούν email.
Γιατί παίρνω PermError στο SPF;
Συνήθως επειδή ξεπέρασες το όριο των 10 DNS lookups, ή έχεις δύο SPF records. Μείωσε τα include: ή αντικατέστησέ τα με σταθερές ip4:.
Χρειάζομαι SPF αν χρησιμοποιώ Google Workspace;
Ναι. Το Google δίνει υποδομή, αλλά πρέπει εσύ να δηλώσεις include:_spf.google.com στο DNS του domain σου ώστε οι παραλήπτες να εμπιστεύονται τα email σου.
Πόσο γρήγορα ισχύει η αλλαγή;
Εξαρτάται από το TTL της εγγραφής — συνήθως λεπτά έως μερικές ώρες για propagation. Μετά έλεγξε το με τον SPF checker.

Δοκιμάστε αμέσως

Σχετικοί οδηγοί