SPF, DKIM dan DMARC untuk kedai dalam talian: syarat Gmail dan Yahoo

Fungsi SPF, DKIM dan DMARC, syarat penghantar Gmail, Yahoo dan Outlook.com, cara menyediakannya di Shopify dan WooCommerce, serta cara mencapai p=reject.

Pasukan Editorial FixReportsBacaan 10 minit

Untuk memenuhi peraturan penghantar Gmail dan Yahoo, setiap kedai dalam talian memerlukan SPF atau DKIM pada domain penghantarnya, manakala penghantar pukal memerlukan kedua-duanya, serta rekod DMARC sekurang-kurangnya p=none dengan domain From yang kelihatan sejajar dengan SPF atau DKIM. Penghantar pukal juga mesti menyediakan nyahlanggan satu klik pada e-mel pemasaran dan mengekalkan kadar spam yang dilaporkan di bawah 0.3%. Di Shopify, ini bermakna mengesahkan domain penghantar anda dalam admin dan menambah rekod DMARC; di WooCommerce, ini bermakna menghantar e-mel melalui penyedia e-mel yang disahkan. Setelah laporan DMARC menunjukkan semua e-mel sah anda lulus, anda boleh mengetatkan dasar secara beransur-ansur ke arah p=reject.

Perkara utama

Apakah sebenarnya fungsi SPF, DKIM dan DMARC?

SPF menyenaraikan pihak yang boleh menghantar e-mel bagi domain anda, DKIM menandatangani setiap mesej, dan DMARC mengaitkan kedua-duanya dengan alamat From yang dilihat oleh pelanggan anda.

RekodApa yang dibuktikanLokasiPiawaian
SPFPelayan penghantar dibenarkan untuk domain yang digunakan dalam sampul mesej (MAIL FROM)Rekod TXT pada domainRFC 7208 (dibuka dalam tab baharu)
DKIMMesej ditandatangani oleh domain dan tidak diubah semasa penghantaranRekod TXT di selector._domainkey.example.comRFC 6376 (dibuka dalam tab baharu)
DMARCSPF atau DKIM lulus untuk domain yang sejajar dengan domain From yang kelihatan; memberitahu penerima tindakan yang perlu diambil jika gagal dan ke mana laporan perlu dihantarRekod TXT di _dmarc.example.comRFC 9989 (dibuka dalam tab baharu)

Penjajaran (alignment) mudah terlepas pandang. Platform e-mel anda boleh lulus SPF untuk domain lantunan (bounce) miliknya sendiri, sementara alamat From anda memaparkan domain kedai anda. Mesej itu lulus SPF tetapi gagal DMARC, melainkan DKIM ditandatangani dengan domain anda.

Apakah syarat Gmail dan Yahoo untuk penghantar?

Kedua-duanya mewajibkan pengesahan daripada setiap penghantar dan menambah peraturan yang lebih ketat untuk penghantar pukal.

Untuk semua penghantar, Gmail mewajibkan SPF atau DKIM, DNS hadapan dan songsang (forward dan reverse DNS) yang sah, TLS, format RFC 5322 dan kadar spam di bawah 0.3% dalam Postmaster Tools (Google (dibuka dalam tab baharu)). Yahoo mewajibkan sekurang-kurangnya SPF atau DKIM dan kadar spam di bawah 0.3% (Yahoo Sender Hub (dibuka dalam tab baharu)). Untuk penghantar pukal:

SyaratGmailYahoo
SPF dan DKIMKedua-duanyaKedua-duanya
DMARCWajib; dasar boleh ditetapkan kepada noneDasar yang sah, sekurang-kurangnya p=none, dan DMARC mesti lulus
PenjajaranDomain From sejajar dengan domain SPF atau DKIMSama; penjajaran longgar (relaxed) diterima
Nyahlanggan satu klikMesej pemasaran dan mesej langganan, mengikut RFC 8058, serta pautan yang kelihatanPengepala List-Unsubscribe dengan sokongan satu klik untuk mesej pemasaran dan mesej langganan
Patuhi permintaan nyahlangganDalam masa 48 jam (disyorkan)Dalam masa 2 hari
Kadar spamDi bawah 0.3%; Google mengesyorkan di bawah 0.10%Di bawah 0.3%

Beberapa butiran penting untuk kedai dalam talian:

  • Gmail mengira mengikut domain. Mesej daripada domain utama yang sama dikira ke arah had 5,000, jadi e-mel pesanan, e-mel pemasaran dan balasan khidmat pelanggan dijumlahkan bersama.
  • Hanya akaun Gmail peribadi dikira. Garis panduan ini tidak terpakai pada mesej yang dihantar ke akaun Google Workspace.
  • E-mel transaksi dikecualikan daripada nyahlanggan satu klik. Namun, e-mel pengesahan pesanan tetap memerlukan pengesahan penghantar.

Nyahlanggan satu klik menggunakan dua pengepala yang ditakrifkan dalam RFC 8058 (dibuka dalam tab baharu), yang juga mewajibkan tandatangan DKIM yang sah meliputi kedua-dua pengepala itu:

List-Unsubscribe: <https://example.com/unsubscribe/opaquepart>
List-Unsubscribe-Post: List-Unsubscribe=One-Click

Untuk memastikan platform pemasaran anda menambah pengepala ini, buka sumber mentah (raw source) salah satu kempen anda sendiri.

Apakah yang berubah selepas Februari 2024?

Penguatkuasaan telah diketatkan secara berperingkat, dan penyedia peti mel lain telah menerima pakai peraturan yang serupa.

TarikhPerubahanSumber
Februari 2024Syarat Gmail dan Yahoo mula berkuat kuasa (Yahoo melaksanakan penguatkuasaan secara beransur-ansur)Google (dibuka dalam tab baharu), Yahoo (dibuka dalam tab baharu)
Jun 2024Gmail: penghantar pukal dengan kadar spam melebihi 0.3% tidak lagi layak untuk mitigasiSoalan Lazim Gmail (dibuka dalam tab baharu)
1 Jun 2024Tarikh akhir Gmail untuk nyahlanggan satu klik bagi penghantar yang sudah mempunyai pautan nyahlangganSoalan Lazim Gmail (dibuka dalam tab baharu)
5 Mei 2025Syarat Outlook.com untuk domain yang menghantar lebih daripada 5,000 e-mel sehari; kemas kini Microsoft pada 29 April menyatakan mesej yang gagal akan ditolak dengan 550 5.7.515Microsoft (dibuka dalam tab baharu)
November 2025Gmail meningkatkan penguatkuasaan, termasuk penolakan sementara dan kekalSoalan Lazim Gmail (dibuka dalam tab baharu)
Mei 2026RFC 9989 memansuhkan RFC 7489 sebagai spesifikasi DMARCIETF (dibuka dalam tab baharu)

Peraturan Outlook.com terpakai pada alamat pengguna peribadinya (outlook.com, hotmail.com dan live.com) dan mewajibkan SPF dan DKIM lulus, serta DMARC sekurang-kurangnya p=none yang sejajar dengan SPF atau DKIM.

Bagaimanakah cara menyediakan SPF, DKIM dan DMARC di Shopify?

Sahkan domain penghantar anda dalam admin Shopify, kemudian tambah satu rekod DMARC di hos DNS anda.

Panduan persediaan e-mel (dibuka dalam tab baharu) Shopify menyatakan bahawa mulai 1 Februari 2024, Gmail dan Yahoo mewajibkan domain yang disahkan dan rekod DMARC untuk menghantar e-mel daripada alamat berjenama. Jika rekod pengesahan tidak dikonfigurasi, Shopify menukar alamat penghantar anda kepada format store+123@shopifyemail.com. Langkah-langkahnya:

  1. Dalam admin Shopify, pergi ke Settings > Notifications (Tetapan > Pemberitahuan).
  2. Dalam bahagian Sender email (E-mel penghantar), klik authenticate your domain (sahkan domain anda).
  3. Tambah setiap rekod CNAME yang dipaparkan di penyedia DNS anda. Bilangannya boleh berbeza. Shopify menyatakan rekod ini mengendalikan SPF dan DKIM untuk alamat penghantar anda, dan anda tidak perlu menambah alamat IP.
  4. Beri masa sehingga 48 jam untuk perubahan DNS berkuat kuasa.
  5. Tambah rekod TXT dengan nama _dmarc dan nilai v=DMARC1; p=none;, iaitu nilai lalai yang digunakan Shopify.

Jika anda membeli domain anda daripada Shopify atau memindahkannya ke Shopify, Shopify mengurus rekod ini untuk anda. Shopify juga memberi amaran bahawa sesuatu domain hanya boleh mempunyai satu rekod DMARC, dan tetapan penjajaran ketat (adkim=s atau aspf=s) patut dibuang atau ditukar kepada r.

Pengesahan Shopify hanya meliputi e-mel yang dihantar oleh Shopify. Jika anda menggunakan platform lain untuk kempen, meja bantuan (help desk), atau Google Workspace untuk e-mel kakitangan, setiap satu memerlukan persediaan DKIM tersendiri dan, jika ia menggunakan domain anda untuk lantunan, entri SPF tersendiri.

Bagaimanakah cara menyediakan pengesahan e-mel untuk WooCommerce?

Hantar e-mel WooCommerce melalui penyedia khusus yang menandatangani mesej dengan domain anda, seperti yang disyorkan oleh dokumentasi WooCommerce sendiri.

WooCommerce menghantar e-mel menggunakan fungsi WordPress wp_mail(), dan Soalan Lazim e-mel WooCommerce (dibuka dalam tab baharu) mengesyorkan penyedia SMTP khusus kerana lebih boleh diharap berbanding fungsi mel pelayan anda sendiri. Persediaan biasa:

  1. Pilih penyedia e-mel transaksi dan sahkan domain anda dengannya. Penyedia itu akan memberi anda rekod DKIM dan include SPF untuk diterbitkan.
  2. Sambungkan WordPress kepada penyedia itu dengan pemalam SMTP atau API.
  3. Tetapkan From address (alamat Daripada) dalam WooCommerce > Settings > Emails (WooCommerce > Tetapan > E-mel) kepada alamat pada domain anda sendiri. WooCommerce memberi amaran bahawa alamat awam, seperti alamat Gmail atau Yahoo, berkemungkinan besar masuk ke folder spam atau disekat.
  4. Terbitkan rekod DMARC di _dmarc.yourdomain.
  5. Semak WooCommerce > Status > Logs (WooCommerce > Status > Log) dan tapis mengikut sumber transactional-emails untuk melihat mesej yang berjaya dihantar atau gagal.

Jika hos web anda juga menghantar e-mel bagi domain itu, sahkan penghantarannya atau matikannya. Mana-mana sistem yang menghantar e-mel sebagai domain anda tanpa SPF atau DKIM yang sejajar akan gagal DMARC.

Apakah had 10 carian SPF dan bagaimana untuk kekal di bawahnya?

Satu semakan SPF boleh menggunakan paling banyak 10 terma yang memerlukan pertanyaan DNS; tambah satu lagi dan hasilnya ialah permerror, jadi SPF tidak lulus.

RFC 7208, seksyen 4.6.4 (dibuka dalam tab baharu) menyenaraikan terma yang dikira: mekanisme include, a, mx, ptr dan exists serta pengubah redirect. Mekanisme ip4, ip6 dan all tidak dikira. Include yang bersarang di dalam include anda turut dikira, kerana had ini terpakai pada keseluruhan penilaian. RFC itu juga mengesyorkan supaya “carian kosong” (void lookups, iaitu pertanyaan yang tidak mengembalikan jawapan) dihadkan kepada dua, dan menyatakan mekanisme ptr tidak patut diterbitkan.

Cara untuk kekal di bawah 10:

  • Buang include bagi perkhidmatan yang tidak lagi anda gunakan.
  • Gunakan ip4 atau ip6 untuk pelayan yang anda kendalikan sendiri dengan alamat tetap.
  • Pindahkan e-mel pemasaran ke subdomain seperti news.example.com, yang mempunyai rekod SPF dan kiraan cariannya sendiri.
  • Jangan sekali-kali menerbitkan dua rekod SPF. RFC 7208 melarang berbilang rekod, dan penilaian akan mengembalikan permerror.
example.com.        TXT  "v=spf1 include:_spf.google.com include:spf.example-esp.com ~all"
news.example.com.   TXT  "v=spf1 include:spf.example-marketing.com ~all"

spf.example-esp.com dan spf.example-marketing.com hanyalah contoh; gantikan dengan nilai yang diberikan oleh penyedia anda.

Bagaimanakah cara memindahkan DMARC daripada p=none kepada p=reject?

Mulakan dengan p=none beserta pelaporan, betulkan setiap sumber sah yang didedahkan oleh laporan, kemudian ketatkan dasar.

PeringkatRekodMatlamat
1. Pantauv=DMARC1; p=none; rua=mailto:dmarc@example.comKumpul laporan agregat tentang pihak yang menghantar e-mel sebagai domain anda
2. BetulkanTiada perubahanPastikan setiap sumber sah lulus SPF atau DKIM yang sejajar
3. Kuarantinv=DMARC1; p=quarantine; rua=mailto:dmarc@example.comE-mel yang gagal masuk ke folder spam
4. Tolakv=DMARC1; p=reject; rua=mailto:dmarc@example.comE-mel yang gagal ditolak

Beralih ke peringkat seterusnya hanya apabila laporan menunjukkan platform kedai, alat pemasaran, meja bantuan dan e-mel kakitangan anda semuanya lulus. Laporan agregat ditakrifkan dalam RFC 9990 (dibuka dalam tab baharu). Jika alamat rua berada pada domain lain, seperti perkhidmatan pelaporan, domain itu perlu menerbitkan rekod yang membenarkan penerimaan laporan tersebut.

Panduan lama mencadangkan pelaksanaan berperingkat dengan pct=25 atau pct=50. RFC 9989 membuang pct (entri pendaftarannya kini berstatus “historic”) kerana nilai selain 0 dan 100 digunakan secara tidak konsisten. Sebagai gantinya, t=y meminta penerima menggunakan dasar satu tahap lebih rendah, contohnya kuarantin dan bukannya tolak. Gunakan t=y dan bukannya peratusan separa jika anda mahukan langkah percubaan.

_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@example.com"

Dasar yang dikuatkuasakan juga membuka jalan kepada BIMI, yang memaparkan logo anda dalam peti masuk yang menyokongnya. Untuk BIMI, Gmail mewajibkan DMARC pada p=quarantine atau p=reject serta Verified Mark Certificate atau Common Mark Certificate (Google (dibuka dalam tab baharu)). Bagi e-mel yang masuk ke domain anda, MTA-STS (RFC 8461 (dibuka dalam tab baharu)) membolehkan anda memberitahu pelayan penghantar supaya tidak menghantar e-mel ke pelayan mel anda jika pelayan itu tidak menawarkan TLS dengan sijil yang dipercayai.

Bagaimanakah cara menyemak rekod kedai anda?

Buat pertanyaan bagi ketiga-tiga jenis rekod dengan dig, atau gunakan alat penyemak yang membacanya untuk anda.

dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT selector._domainkey.example.com

Pemilih (selector) DKIM diberikan oleh penyedia anda, dan anda boleh menemuinya dalam nilai s= pada pengepala DKIM-Signature dalam mesej yang telah anda hantar. Laporan Kebolehhantaran E-mel membaca DNS awam anda, mengira carian SPF, mencuba pemilih DKIM yang biasa dan menyemak dasar DMARC, rua, pct, BIMI serta MTA-STS. Rekod yang betul membantu, tetapi tiada set rekod yang menjamin e-mel anda sampai ke peti masuk, kerana penyedia peti mel juga mengambil kira aduan spam dan tingkah laku penghantaran.

Soalan lazim

Adakah saya memerlukan DMARC jika kedai saya menghantar kurang daripada 5,000 e-mel sehari?

Gmail hanya mewajibkan DMARC daripada penghantar pukal, tetapi Shopify menyatakan bahawa Gmail dan Yahoo mewajibkan domain yang disahkan dan rekod DMARC untuk menghantar e-mel daripada alamat berjenama. Rekod p=none berisiko rendah dan memberi anda laporan, jadi kebanyakan kedai dalam talian patut menerbitkannya.

Bolehkah domain saya mempunyai dua rekod SPF?

Tidak. RFC 7208 menyatakan bahawa sesuatu domain tidak boleh mempunyai berbilang rekod SPF, dan jika ada, penilaian SPF akan mengembalikan permerror. Gabungkan semua penghantar ke dalam satu rekod.

Adakah p=reject akan menyekat e-mel pesanan Shopify saya?

Tidak, jika rekod CNAME Shopify sudah disediakan dan laporan DMARC anda menunjukkan e-mel Shopify lulus DKIM yang sejajar. Semak laporan sebelum beralih melepasi p=none, dan kekalkan penjajaran longgar seperti yang disyorkan oleh Shopify.

Adakah tag pct DMARC masih sah?

RFC 9989, yang diterbitkan pada Mei 2026, membuang pct dan memperkenalkan t=y untuk mod ujian. Panduan BIMI Google masih meminta pct=100, iaitu nilai lalai apabila tag itu tiada, jadi tidak memasukkan pct langsung ialah pilihan paling mudah untuk rekod baharu.

Adakah lulus SPF, DKIM dan DMARC menjamin e-mel saya sampai ke peti masuk?

Tidak. Pengesahan ialah syarat, bukan jaminan. Gmail dan Yahoo juga menilai kadar aduan spam, pengendalian nyahlanggan dan format mesej.

Sumber