WordPress sering kali merupakan aplikasi yang membuat pesan, bukan layanan yang pada akhirnya mengirimkannya ke penerima. Nama plugin atau pemberitahuan “terkirim” tidak mengidentifikasi IP yang dievaluasi SPF atau domain di a tanda tangan DKIM. Ikuti satu peristiwa aplikasi nyata melintasi batas antara WordPress dan WordPress mengangkut dan kotak surat penerima.
Identifikasi siapa yang memiliki setiap tahap
Mulailah dengan acara: permintaan pengaturan ulang kata sandi, pemberitahuan pesanan, atau pengiriman formulir kontak. Catat plugin atau jalur kode yang membuat pesan, alamat Dari yang dikonfigurasi, plugin transport jika ada, dan apakah plugin tersebut menggunakan email PHP lokal, SMTP jarak jauh, atau API penyedia. Buku pegangan email WordPress menjelaskan bahwa plugin dapat menggantikan rute pengiriman default dengan layanan pihak ketiga.
Periksa konfigurasi melalui administrasi resmi tanpa menyalin kredensial ke tiket. Catat nama layanan, akun atau label proyek, dan domain pengirim, namun simpan rahasia API dan kata sandi SMTP dari file bukti. Periksa juga perilaku fallback. Sebuah plugin dapat dikonfigurasi dengan benar untuk rute utamanya sementara tugas atau cadangan terpisah menggunakan server hosting.
Jangan bingung antara keberhasilan aplikasi dengan pengiriman
WordPress mendokumentasikan bahwa nilai kembalian wp_mail() yang sebenarnya berarti metode pengiriman memproses permintaan tanpa kesalahan, bukan penerima yang menerima pesan. Demikian pula, penyedia yang menerima panggilan API menetapkan tahapan yang berbeda dari pengiriman akhir.
Hubungkan peristiwa aplikasi dengan pengidentifikasi transportasi atau penyedia dan, jika tersedia, peristiwa pengiriman atau pentalan. Pertahankan stempel waktu dalam zona waktu yang konsisten. Jika penyedia tidak memiliki catatan peristiwa tersebut, selidiki jalur aplikasi dan plugin sebelum mengubah DNS penyedia. Jika menerima peristiwa tersebut namun penerima menolaknya, kumpulkan bukti diagnostik dan autentikasi SMTP lengkap.
Konfigurasikan otentikasi pada pengirim sebenarnya
Untuk layanan SMTP atau API jarak jauh, gunakan alur autentikasi domain layanan tersebut saat ini. Publikasikan yang dihasilkannya DKIM TXT atau CNAME mencatat dengan tepat dan mengaktifkan domain jika diperlukan. Tentukan domain amplop dan apakah produk mendukung pentalan khusus atau jalur kembali domain. Jangan menciptakan SPF yang mencakup seluruh WordPress; WordPress bukanlah jaringan email keluar universal.
Untuk rute server hosting, bekerja samalah dengan host atau administrator email untuk mengidentifikasi infrastruktur pengirim publik yang sebenarnya dan penandatangan DKIM yang didukung. Menambahkan IP situs web ke SPF tanpa membuktikan bahwa situs tersebut mengirimkan email dapat mengotorisasi sistem yang salah. Pertahankan satu kebijakan SPF yang sesuai pada domain amplop yang dievaluasi dan perhitungkan batas pencarian.
Untuk DMARC, pilih alamat Dari pada domain yang diizinkan untuk dikirim oleh organisasi. Alamat pengunjung formulir kontak biasanya termasuk dalam Balas-Ke, bukan sebagai identitas Dari yang dipalsukan. Konfigurasikan jalur terotentikasi yang selaras untuk domain Dari organisasi dan koordinasikan kebijakan dengan pengirim sah lainnya. Reply-To tidak membentuk DMARC penyelarasan.
Bekerja melalui jejak peristiwa sintetis
Hanya ilustrasi, bukan pengujian WordPress atau penyedia yang dijalankan:
- Tahap: Acara pemesanan; Contoh label bukti: order-test-42; Apa yang ditetapkan: Aplikasi meminta pemberitahuan.
- Tahap: Pengiriman plugin; Contoh label bukti: transport-event-42; Apa yang ditetapkan: Transportasi yang dipilih menangani permintaan tersebut.
- Tahap: Penerimaan penyedia; Contoh label bukti: penyedia-pesan-42; Apa yang ditetapkan: Penyedia pengirim menerima acara tersebut.
- Tahap: Penerimaan eksternal; Contoh label bukti: Header mentah yang telah disunting; Apa yang ditetapkan: Hasil Akhir Dari, amplop, DKIM dan DMARC .
Misalkan pesan yang dikirimkan menggunakan Dari orders@example.com , domain amplop milik penyedia, dan tanda tangan d=example.com yang lewat. DKIM dapat menyediakan autentikasi DMARC yang selaras meskipun SPF tidak selaras. Jika fallback malah mengirimkan email yang tidak ditandatangani dari IP hosting yang tidak diotorisasi untuk domain amplop, kejadian aplikasi yang sama dapat memberikan hasil yang berbeda. Uji fallback dengan sengaja hanya dalam cakupan yang disetujui.
Tinggalkan handoff yang dapat dipertahankan
Tetapkan pemilik aplikasi, transportasi, dan DNS yang terpisah. Simpan versi konfigurasi, buat catatan publik, dan edit bukti pengujian yang berhasil dan gagal. Lakukan pengaturan ulang kata sandi dan peristiwa penting lainnya setelah peningkatan plugin, migrasi hosting, perubahan penyedia, perubahan alamat asal, atau rotasi kunci. Pantau pentalan dan kegagalan aktual daripada mengandalkan status WordPress hijau.
Saat pensiun, nonaktifkan akses transportasi yang tidak digunakan dan hapus otorisasi DNS yang sudah usang hanya setelah memeriksa dependensi bersama. Jangan menghapus catatan penyedia hanya karena satu plugin diganti jika aplikasi lain masih menggunakan pengirim tersebut.
Pisahkan empat lokasi kegagalan
Gunakan jejak kejadian untuk membedakan tidak ada kejadian permohonan, tidak ada penyerahan pengangkutan, penolakan penyedia, dan kegagalan penerima akhir. Rekam tidak diketahui ketika suatu tahapan tidak memiliki log yang dapat diandalkan. Jangan menyimpulkan penolakan penyedia dari tidak adanya pesan kotak masuk atau tanda terima akhir dari metode pengembalian yang berhasil. Pertahankan pengidentifikasi asli di seluruh handoff sehingga pemilik aplikasi dan email menyelidiki peristiwa yang sama.