Bagaimana cara mengirim email dan menghindarinya agar tidak diklasifikasikan sebagai spam?

83

Ini adalah pertanyaan kanonik tentang bagaimana menangani email yang dikirim dari server Anda dengan kesalahan klasifikasi sebagai spam. Untuk informasi tambahan, Anda mungkin menemukan pertanyaan serupa ini bermanfaat:

Terkadang saya ingin mengirim nawala ke pelanggan saya. Masalahnya adalah, beberapa email tertangkap sebagai pesan spam. Sebagian besar oleh Outlook di klien (bahkan di Outlook 2007 saya sendiri).

Sekarang saya ingin tahu apa yang harus dilakukan untuk membuat email "baik". Saya tahu tentang membalikkan pencarian dll., Tetapi (misalnya), bagaimana dengan tautan berhenti berlangganan dengan ID unik? Apakah itu meningkatkan peringkat spam?

kcode
sumber
Sebuah daftar periksa langkah-demi-langkah serta pedoman pemecahan masalah dapat ditemukan dalam jawaban yang baik untuk pertanyaan serupa pada superuser.com .
MattBianco

Jawaban:

83

Pastikan bahwa email Anda tidak terlihat seperti email spam biasa: jangan hanya menyisipkan gambar besar; periksa bahwa rangkaian karakter diatur dengan benar; jangan masukkan tautan "Alamat IP saja". Tulis komunikasi Anda seperti Anda akan menulis email biasa. Buat sangat mudah untuk berhenti berlangganan atau keluar. Jika tidak, pengguna Anda akan berhenti berlangganan dengan menekan tombol "spam", dan itu akan memengaruhi reputasi Anda.

Di sisi teknis: jika Anda dapat memilih server SMTP Anda, pastikan itu adalah server SMTP "bersih". Alamat IP dari server SMTP yang melakukan spam seringkali masuk daftar hitam oleh penyedia lain. Jika Anda tidak mengetahui server SMTP Anda sebelumnya, ini merupakan praktik yang baik untuk memberikan opsi konfigurasi di aplikasi Anda untuk mengontrol ukuran batch dan menunda antar batch. Beberapa server email tidak menerima batch pengiriman besar atau aktivitas berkelanjutan.

Gunakan metode autentikasi email, seperti SPF , dan Kunci Domain untuk membuktikan bahwa email dan nama domain Anda menjadi satu. Efek samping yang bagus adalah Anda membantu mencegah bahwa domain email Anda palsu. Periksa juga DNS balik Anda untuk memastikan alamat IP server surat Anda menunjuk ke nama domain yang Anda gunakan untuk mengirim email.

Pastikan alamat balasan untuk email Anda adalah alamat yang ada dan valid. Gunakan nama asli penerima yang lengkap di bidang Kepada, bukan hanya alamat email (mis. "John Doe" <[email protected]>) Dan pantau akun penyalahgunaan Anda, seperti [email protected] dan [email protected] .

percikan
sumber
Dan gunakan versi multipart / alternatif dari email html Anda yang hanya berisi teks saja. Ini berarti pemindai spam akan memiliki hal-hal yang lebih berguna untuk dikelompokkan ketika mengklasifikasikannya.
Matt
22

Secara otomatis berhenti berlangganan penerima pesan Anda yang alamat emailnya terpental, dan buat loop umpan balik keluhan dengan penyedia email utama dan secara otomatis berhenti berlangganan penerima yang melaporkan pesan Anda sebagai spam / sampah. Ini akan sangat membantu meningkatkan reputasi dan kemampuan pengiriman Anda.


sumber
4
Ini sangat menarik. Saya tidak tahu apa-apa tentang umpan balik ini. Apakah semua penyedia menawarkan program seperti itu?
kcode
1
Tidak semua penyedia, tidak. Tetapi sebagian besar yang utama, termasuk Yahoo dan AOL dan lainnya. Semua loop umpan balik keluhan yang saya ketahui mengharuskan pesan dikirim dari domain yang diautentikasi oleh DKIM atau DomainKeys. Saya percaya beberapa juga memerlukan SPF, tetapi kurang umum.
15

Pertanyaan ini menyebutkan bahwa dasar-dasarnya sudah ada, tetapi ketika kita mengarahkan orang lain untuk ini sebagai Pertanyaan Canonical, saya hanya ingin memastikan bahwa kami menutupi basis kami.

Minimum ini pada dasarnya diperlukan hari ini:

  1. Pastikan Anda memiliki DNS maju dan mundur yang dikonfigurasi dengan benar. Server mail harus mengidentifikasi dirinya dalam pertukaran HELO / EHLO, nama itu harus mencari ke IP yang digunakan server. Demikian pula, pencarian balik IP tersebut harus mengembalikan nama.

  2. Pastikan server Anda benar-benar mengirim nama host di jabat tangan itu. Server Anda seharusnya tidak mengirim alamat IP.

  3. Pastikan alamat IP Anda tidak ada di DNSRBLs (daftar hitam). Jika ya, segera selesaikan.

  4. Periksa reputasi IP Anda dengan layanan reputasi yang lebih populer (SenderScore adalah yang besar saat ini, tetapi itu mungkin tidak bertahan lama). Layanan ini umumnya memiliki pedoman untuk meningkatkan reputasi Anda, tetapi bukan "go / no-go" langsung seperti RBL.

  5. Jangan header palsu, tidak terletak pada header, dan pastikan Anda termasuk header minimum dalam pesan ( Datedan Fromdiperlukan, harus ada Subject, Sender, Reply-To, dan To/ Cc/ Bcc[sebagai]). Ini adalah salah satu hewan peliharaan terbesar saya dengan buletin yang valid yang ingin saya terima berakhir di Sampah karena mereka memalsukan tajuk Outlook Express, mengabaikan tanggal, atau yang serupa.

Secara opsional Anda harus mempertimbangkan pengaturan SPF, DKIM, dan DMARC. Ini membantu pengiriman, tetapi tidak diperlukan (bukan oleh sebagian besar server email).

Chris S
sumber
11

Sayangnya ada banyak teknik penyaringan yang berbeda dan beberapa penyedia surat besar tidak akan mempublikasikan apa yang mereka gunakan dan / atau bobot apa yang diberikan untuk berbagai tes / filter, jadi sulit untuk mengetahui bagaimana cara melewatinya. Pada dasarnya spam telah mendorong ISP dan pengguna ke situasi di mana mereka kadang-kadang menyulitkan pesan yang sah (terutama pesan massal seperti buletin Anda) untuk dilewati. Saya tidak lagi menganggap email sebagai metode transportasi setengah jalan yang dulu andal.

Menjadi sedikit kurang negatif dan lebih bermanfaat ... Karena Anda mengalami masalah khusus dengan klien tertentu, mungkin ada hal-hal yang dapat diceritakan program kepada Anda. Saya tidak tahu secara spesifik tentang pandangan karena saya sendiri tidak menggunakannya di mana pun, tetapi banyak filter surat menyuntikkan header ke dalam pesan untuk mendaftar filter apa yang digunakan, apa hasilnya, dan apa bobot yang diberikan untuk filter itu. Jadi, jika Anda melihat sumber lengkap dari pesan mereka dipindahkan ke folder sampah Anda mungkin menemukan petunjuk yang berguna. Sebagai contoh, filter berbasis SpamAssassin menyuntikkan header dari formulir berikut:

X-Spam-Flag: YES
X-Spam-Score: 13.371
X-Spam-Level: *************
X-Spam-Status: Yes, score=13.371 tagged_above=-10 required=5.4
    tests=[BAYES_99=3.5, FB_GET_MEDS=0.803, RCVD_IN_SORBS_WEB=0.619,
    RCVD_IN_XBL=3.033, RDNS_NONE=0.1, URIBL_AB_SURBL=1.86,
    URIBL_BLACK=1.955, URIBL_JP_SURBL=1.501]

(contoh itu telah dipetik dari pesan spam asli di tumpukan sampah saya)

Ini tidak pasti meskipun penyaringan bayesian dan metode lain yang melibatkan pelatihan pengguna adalah hal yang umum - jadi apa yang disaring dan gagal oleh filter Anda mungkin berbeda secara nyata dengan orang lain meskipun klien telah dikonfigurasikan secara identik di luar kotak. Anda mungkin harus mempertimbangkan outlet lain untuk berita Anda (banyak orang mencoba menggunakan protokol jejaring sosial untuk ini, dengan berbagai tingkat keberhasilan).

David Spillett
sumber
9

Seperti yang dikatakan orang lain, Anda ingin menghindari "tampak" seperti pesan spam saat mengirim email tetapi Anda tidak dapat selalu mengatakan apa yang akan atau tidak akan membuat Anda terlihat seperti spam karena tekniknya bervariasi.

Satu hal yang Anda mungkin ingin pertimbangkan adalah mengirim email teks biasa ke pelanggan Anda untuk setiap buletin yang sebenarnya berisi deskripsi / salam cepat diikuti dengan "klik di sini untuk melihat buletin terbaru kami!" pesan; dengan cara itu Anda dapat meng-host pesan Anda di server web, Anda mengurangi ukuran email (dan memuat di server email Anda) dan sebagai bonus Anda dapat memeriksa log di server web Anda untuk mendapatkan umpan balik tentang berapa banyak pelanggan yang sebenarnya membaca pesan Anda vs. menghapusnya.

Bart Silverstrim
sumber
Hmm. Saya belum pernah melihat seorang spammer menggunakan taktik itu sebelumnya ...
Ernie
Umumnya teks lurus dengan satu atau dua tautan yang sah (tidak banyak yang ditaburkan secara bebas) cenderung untuk melewati ... kalau tidak, saya tidak dapat mengirim tautan melalui email kepada saya atau orang lain tanpa mereka ditandai sebagai spam. Ini seperti mengatakan bahwa Anda belum pernah melihat pengirim spam mengirim pesan instan dengan "kata-kata kotor" untuk memikat orang untuk merespons. Lalu lintas yang sah juga melakukannya. Kuncinya adalah untuk tidak menjadi "terlalu spam" ... nama pengguna seperti bevans mungkin tidak sama mencurigakannya dengan "hottienakedchick69", meskipun kontennya sama, Anda tahu maksud saya?
Bart Silverstrim
7

Solusi terperinci untuk menghindari email diidentifikasi sebagai spam dan / atau tidak diterima penerima

Contoh situasi: Anda memiliki server yang menjalankan situs web PHP untuk example.comitu perlu mengirim email . Dan Anda perhatikan bahwa email Anda tidak selalu terkirim. (Masalah besar jika Anda seorang pemilik toko, dan pelanggan tidak menerima email setelah pembelian!).

Jika Anda mengikuti semua langkah berikut, ini akan menyelesaikan 99,9% dari masalah. (Saya pertama kali berpikir itu mungkin untuk dilakukan hanya beberapa dari mereka, dan melewatkan DKIM misalnya, tetapi akhirnya mereka semua diminta untuk menyelesaikan semua masalah yang saya miliki).

  1. Pertama-tama, siapa yang mengirim email?

    Ketika kode PHP Anda mengirim email, sering kali dengan fungsi PHP yang terkenal mail(...). Tapi apa fungsi ini, di bawah tenda? Mari kita jalankan test.phphalaman yang berisi <?php echo ini_get('sendmail_path'); ?>. Anda akan mendapatkan misalnya: /usr/sbin/sendmail -t -i. Berita bagus, sekarang kita tahu program mana yang benar-benar menangani email!
    Sekarang info yang sulit: namanya sendmailbisa bermacam - macam program . Bahkan jika Anda melihat sendmailpada langkah sebelumnya, Anda mungkin telah menginstal sendmail atau postfix atau exim , atau qmail, dll. Ayo lakukan dpkg -S /usr/sbin/sendmail. Jawabannya postfix: /usr/sbin/sendmail, ok ini berarti kita sudah postfixmenginstal .

  2. Lihat di file log /var/mail/www-datauntuk mengetahui email mana yang belum terkirim dengan benar, dan mengapa. Ini mungkin berguna untuk langkah selanjutnya.

  3. Seperti yang disebutkan di blog Jeff Atwood , saatnya untuk melihat catatan PTR terbalik. (Lebih detail untuk ditambahkan di sini).

  4. Tambahkan baris berikut dalam file /etc/postfix/main.cffile konfigurasi postfix :

    inet_protocols=ipv4
    

    Kemudian mulai kembali postfix dengan service restart postfix. Mengapa? Karena saya punya masalah seperti ini ketika penerima gmail:

    Sistem kami telah mendeteksi bahwa pesan ini tidak 550-5.7.1 tidak memenuhi pedoman pengiriman IPv6 tentang catatan PTR dan otentikasi 550-5.7.1. Harap tinjau 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error untuk informasi 550 5.7.1 lainnya.

    The solusi termudah kemudian beralih postfixke IPv4 saja, sehingga ini langkah 4 (yang bisa tidak perlu bagi Anda?).

  5. Catatan DNS SPF . Untuk membuktikan bahwa Anda diizinkan untuk mengirim email @example.com, Anda dapat menambahkan catatan SPF dalam catatan DNS domain example.com. Saya menemukan suatu tempat The DNS record type 99 (SPF) has been deprecated, jadi kami menggunakan data TXT sebagai gantinya. Mari kita tambahkan ini sebagai catatan DNS TXT (lihat juga catatan 1) :

    v=spf1 a mx include:_spf.google.com include:sendgrid.net ~all
    

    Mengapa ini termasuk? Karena server saya bukan satu-satunya yang akan mengirim email dari @ example.com! Saya mengonfigurasikan Gmail untuk Mengirim email sebagai [email protected] ( lihat tangkapan layar di sini ), menggunakan penyedia SMTP Sendgrid yang tepercaya . Jika saya tidak menambahkan ini include:, Gmail tidak akan diizinkan untuk mengirim email dari @example.com.

  6. Tanda tangan digital DKIM . Seperti disebutkan di sini , tujuan DKIM adalah untuk memastikan bahwa konten surat tidak dirusak selama pengiriman. Ini adalah proses instalasi di Ubuntu (panduan bermanfaat di sini juga):

    • apt-get install opendkim opendkim-tools

    • Buat kunci (Anda juga dapat membuat kunci dan catatan TXT DNS yang relevan dengan http://dkimcore.org/tools/ ):

      mkdir /etc/opendkim
      cd /etc/opendkim
      opendkim-genkey -t -s mail -d example.com
      
    • Mari kita letakkan ini di /etc/opendkim.conf:

      Syslog                 yes
      Domain                 *
      KeyFile                /etc/opendkim/mail.private
      Selector               mail
      AutoRestart            yes
      Background             yes
      Canonicalization       relaxed/relaxed
      DNSTimeout             5
      Mode                   sv
      SubDomains             no
      

      ini di /etc/default/opendkim:

      SOCKET="inet:8891@localhost" # Ubuntu default - listen on loopback on port 8891
      

      dan akhirnya menambahkan ini di akhir file konfigurasi postfix /etc/postfix/main.cf:

      # DKIM
      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891
      
    • Sekarang mari kita tambahkan kunci publik (ditemukan di /etc/opendkim/mail.txt) ke catatan DNS domain Anda:

      mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=OqYHd...waPaQAX"
      

      Begini tampilannya dengan pendaftar saya Namelynx:

    • Langkah terakhir untuk DKIM: mulai ulang layanan email dengan service restart opendkim ; service restart postfix.

  7. Uji apakah semuanya berfungsi. Metode termudah adalah mengirim email melalui PHP ke [email protected](alat yang sangat berguna ini disediakan oleh Port25 Solutions):

    $emailfrom = "Example <[email protected]>";
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-Transfer-Encoding: 8bit \n";
    $headers .= "Content-type: text/plain; charset=utf-8\n";
    $headers .= "Reply-To: " . $emailfrom . "\n";
    $headers .= "From: " . $emailfrom . "\n";
    $headers .= "Bcc: [email protected]\n";
    mail("[email protected]", "Hello", "Hello!", $headers);
    

    Kemudian lihat jawaban alat ini, seharusnya terlihat seperti ini:

    ==========================================================
    Summary of Results
    ==========================================================
    SPF check:          pass
    DKIM check:         pass
    SpamAssassin check: ham
    

    Layanan mail-tester.com juga bermanfaat.

  8. (Opsional) Coba postmaster.google.com. Saya menggunakannya tetapi saya tidak ingat apakah itu membantu atau tidak.

  9. Jika masih tidak berhasil , solusinya bisa dengan melakukan outsourcing email dengan solusi profesional, untuk menghindari siang dan malam dari debugging (tidak berhasil). Ini artikel bagus tentang ini. Berikut ini adalah kutipannya: "Mengirim email dari aplikasi Anda bisa sia-sia. Setengah waktu, pesan yang dikirim dari server Anda sendiri baru saja dibuang ke folder sampah penerima." yang sayangnya saya temukan benar, setelah minggu mengutak-atik.


Catatan tambahan:

(1)

-all : Fail: All mail servers not listed in the SPF record are explicitly not authorized to send mail using the sender’s domain.
~all : Soft Fail: All mail servers not listed in the SPF record are not authorized to send mail using the sender’s domain, but the owner of the domain is unwilling to make a strong assertion to that effect.
?all : Neutral: The domain controller cannot or does not want to assert whether or not all mail servers not listed in the SPF record are authorized to send mail using the sender’s domain.
+all : Pass: All mail servers are authorized to send mail on behalf of the sender’s domain.
Basj
sumber
6

Bisnis online saya mengalami masalah dengan konfirmasi email yang dikirim ke spam atau bahkan tidak terkirim (dijauhi melalui server mail). Ini adalah email sederhana "berikut ringkasan pesanan Anda" dengan satu tautan ke domain situs kami. Kami akhirnya membeli beberapa akun Google Apps untuk bisnis saya. Anda dapat mengatur salah satunya untuk bertindak sebagai server SMTP Anda. Memiliki Google sebagai pengirim email kami menghentikan semua masalah ini.

Sejauh buletin email, pasti menggunakan layanan yang menangani opt-in / -out untuk Anda. Menggunakan siapa pun selain layanan untuk mengirim surat massal mungkin akan membuat Anda diblokir.

Chris K
sumber
Itu solusinya. Solusi yang tepat adalah memperbaiki sistem Anda yang salah dan memastikan Anda setidaknya memiliki catatan SPF yang tepat dalam DNS.
John Gardeniers
3
Sebenarnya, jika ISP server email Anda menyala ditandai sebagai spam, semoga berhasil. Kami berada di Rackspace pada saat itu. Menggunakan Google sebagai SMTP membantu karena Google memastikan tidak ada daftar hitam.
Chris K
2

Ada panduan baru yang telah diterbitkan di Kotak Masuk email

Yang paling komprehensif yang pernah saya lihat. Daftar periksa 43 titik berbeda yang mencakup setiap faucet tentang cara menghindari ditandai sebagai spam. Itu terus diperbarui.

Dari menyiapkan DNS, Mengkonfigurasi Otentikasi, Menyiapkan pemantauan reputasi, Mengurangi rasio pentalan Anda, Menguji Konten Email Anda, dll.

Head to tails cakupan segalanya oleh ZeroBounce.NET

https://www.zerobounce.net/guide-to-improve-inbox-and-delivery.html

Henry
sumber
Saat ini, pos ini pada dasarnya hanyalah sebuah tautan. Untuk memastikan jawabannya tetap berguna meskipun tautan rusak, harap edit untuk memasukkan informasi yang relevan.
anx