E-postalar nasıl gönderilir ve spam olarak sınıflandırılmaları nasıl önlenir?


82

Bu, sunucunuzdan gönderilen e-postaların nasıl spam olarak sınıflandırıldığına dair kanuni bir sorudur . Ek bilgi için bu benzer soruları yararlı bulabilirsiniz:

Bazen müşterilerime bülten göndermek istiyorum. Sorun, e-postaların bazılarının spam mesajları olarak yakalanmasıdır. Müşteri tarafından çoğunlukla Outlook'ta (kendi Outlook 2007'de bile).

Şimdi "iyi" e-postalar oluşturmak için ne yapılması gerektiğini bilmek istiyorum. Tersine arama vb. Hakkında bilgim var, ancak (örneğin), benzersiz bir kimliği olan abonelikten çıkma bağlantısına ne dersiniz? Bu bir spam derecelendirmesini artırıyor mu?


Bir adım-adım kontrol listesi yanı sıra sorun giderme yönergeleri bulunabilir iyi bir cevap a superuser.com benzer soru .
MattBianco

Yanıtlar:


82

E-postalarınızın tipik spam e-postalara benzemediğinden emin olun: yalnızca büyük resim eklemeyin; Karakter setinin doğru ayarlandığından emin olun; “Yalnızca IP adresi” bağlantısı eklemeyin. İletişiminizi normal bir e-posta yazdığınız gibi yazın. Abonelikten çıkmayı veya vazgeçmeyi gerçekten kolaylaştırın. Aksi takdirde, kullanıcılarınız "spam" düğmesine basarak abonelikten çıkacaklar ve bu itibarınızı etkileyecektir.

Teknik tarafta: SMTP sunucunuzu seçebiliyorsanız, “temiz” bir SMTP sunucusu olduğundan emin olun. Spam gönderen SMTP sunucularının IP adresleri genellikle diğer sağlayıcılar tarafından kara listeye alınır. SMTP sunucularınızı önceden bilmiyorsanız, toplu ebatları kontrol etmek ve toplu işlemler arasındaki gecikmeleri kontrol etmek için uygulamanızda yapılandırma seçenekleri sağlamak iyi bir uygulamadır. Bazı posta sunucuları, büyük gönderen toplu işlemleri veya sürekli etkinlikleri kabul etmez.

E- postalarınızın ve etki alanı adınızın birbirine ait olduğunu kanıtlamak için SPF ve Etki Alanı Anahtarları gibi e-posta kimlik doğrulama yöntemlerini kullanın . En iyi yan etki, e-posta etki alanınızın taklit edilmesini önlemede yardımcı olmanızdır. Ayrıca , posta sunucunuzun IP adresinin posta göndermek için kullandığınız alan adını gösterdiğinden emin olmak için ters DNS'inizi kontrol edin .

E-postalarınızın cevap adresinin geçerli ve mevcut bir adres olduğundan emin olun. Sadece e-posta adresini değil (örneğin "John Doe" <john.doe@example.com>) Kime alanındaki muhatabın tam adını kullanın (örneğin ) ve abuse@example.com ve postmaster@example.com gibi suistimal hesaplarınızı izleyin .


Ve sadece metin içeren html e-postanızın çoklu / alternatif versiyonlarını kullanın. Bu, spam tarayıcısının sınıflandırırken kullanması gereken daha yararlı şeyleri olacağı anlamına gelir.
Matt

22

E-posta adresleri geri dönen iletinizin alıcılarını otomatik olarak abonelikten çıkarın ve büyük posta sağlayıcılarla şikayet geri bildirim döngüleri oluşturun ve iletinizi spam / önemsiz olarak bildiren alıcıları otomatik olarak abonelikten çıkarın. Bu itibarınızı ve teslim edilebilirliğinizi geliştirmek için uzun bir yol kat edecektir.


4
Bu çok ilginç. Bu geri bildirim döngüleri hakkında hiçbir şey bilmiyordum. Tüm sağlayıcılar böyle bir program sunuyor mu?
kcode

1
Tüm sağlayıcılar değil, hayır. Ancak, Yahoo ve AOL ve diğerleri de dahil olmak üzere, büyük olanların çoğu. Tüm şikayet geri bildirim döngüleri, iletilerin DKIM veya DomainKeys tarafından doğrulanan bir etki alanından gönderilmesini gerektirdiğinin farkındayım. Bazılarının da SPF gerektirdiğini, ancak daha az yaygın olduğunu düşünüyorum.

15

Bu soru, temellerin yerinde olduğunu belirtmektedir, ancak diğerlerini bu konuyu Kanonik bir Soru olarak gösterdiğimizde, üslerimizi koruduğumuzdan emin olmak istiyorum.

Bu minimumlar esasen bugünlerde gereklidir:

  1. Doğru yapılandırılmış DNS'yi ileri ve geri olduğundan emin olun. Bir posta sunucusunun bir HELO / EHLO değişiminde kendini tanıtması gerekir; bu ad, sunucunun kullandığı IP'ye bakmalıdır. Benzer şekilde, bu IP’nin geriye doğru araması, adı döndürmelidir.

  2. Sunucunuzun gerçekten bu el sıkışmasında ana bilgisayar adını gönderdiğinden emin olun. Sunucunuz bir IP adresi göndermemelidir.

  3. IP adresinizin herhangi bir DNSRBL'de (kara listeler) olmadığından emin olun. Eğer öyleyse, bununla ilgilen.

  4. IP'nizin itibarını, daha popüler itibar hizmetleriyle kontrol edin (SenderScore şu an için büyük bir seçimdir, ancak bu zamana bağlı olmayabilir). Bu hizmetler genellikle itibarınızı arttırmak için yönergelere sahiptir, ancak RBL'ler gibi tamamen açık bir “gitme / gitme” değildir.

  5. Sahte başlıkları başlıklarında yalan ve mesajlarda asgari başlıklarını içeren emin yapmazlar etmeyin ( Dateve Fromgerekli bir olmalı Subject, Sender, Reply-Tove To/ Cc/ Bcc[geçerliyse]). Bu, bir Outlook Express başlığını taklit ettikleri, tarihi dışarıda bıraktıkları veya benzeri bir şey olduğu için Junk'a son vermek istediğim geçerli bültenlere sahip en büyük evcil hayvan püfelerimden biri.

İsteğe bağlı olarak, SPF, DKIM ve DMARC ayarlamayı düşünmelisiniz. Bunlar teslim edilebilirliğe yardımcı olur, ancak zorunlu değildir (e-posta sunucularının büyük çoğunluğu tarafından değil).


11

Maalesef, birçok farklı filtreleme tekniği vardır ve bazı büyük posta sağlayıcıları, kullandıklarını ve / veya çeşitli testlere / filtrelere verilen ağırlıkları yayınlamayacaklarından, nasıl yapılacağını bilmek zordur. Temel olarak spam, ISS'leri ve kullanıcıları bazen meşru mesajların (özellikle bülteniniz gibi toplu mesajların) iletilmesini zorlaştıracakları bir duruma getirmiştir. Artık e-postayı, bir zamanlar olduğu gibi güvenilir bir taşıma yöntemi olarak görmüyorum.

Daha az olumsuz ve daha yararlı olmak için ... Belirli bir müşteriyle ilgili belirli problemleriniz olduğundan, programın size söyleyebileceği şeyler olabilir. Herhangi bir yerde kullanmadığım için özellikle görünüşümü bilmiyorum, ancak birçok posta filtresi, hangi filtrelerin kullanıldığını, sonucun ne olduğunu ve bu filtreye verilen ağırlığın ne olduğunu listelemek için başlıklara mesaj gönderir. Bu nedenle, iletilerin tam kaynağına bakarsanız, önemsiz klasörlere taşınırsa yararlı ipuçları bulabilirsiniz. Örnek olarak, SpamAssassin tabanlı filtreler, aşağıdaki formun başlıklarını enjekte eder:

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]

(bu örnek, önemsiz yığınımdaki orijinal bir spam mesajından alındı)

Bayes filtrelemesi ve kullanıcı eğitimini içeren diğer yöntemler yaygın olduğu için bu kesin değildir - bu nedenle, istemcileriniz aynı şekilde yapılandırılmış olsa bile filtrelerinizin başarılı ve başarısız olması diğer kişilerinkinden belirgin şekilde farklı olabilir. Haberleriniz için başka bir çıkış noktası düşünmeniz gerekebilir (birçok kişi bunun için farklı derecelerde başarı ile sosyal ağ protokollerini kullanmaya çalışıyor).


9

Diğerlerinin de dediği gibi, e-postayı gönderirken bir spam iletisine "bakmaktan" kaçınmak istiyorsunuz ancak teknikler değişkenlik gösterdiğinden, spam olarak neyin görünüp neyin görünmeyeceğini kesinlikle söyleyemezsiniz.

Göz önünde bulundurmak isteyebileceğiniz bir şey, müşterilerinize gerçekte hızlı bir açıklama / selamlama içeren bir bülten için düz bir metin e-posta göndermek ve ardından "son bültenimizi görmek için buraya tıklayın!" İleti; bu şekilde mesajınızı bir web sunucusunda barındırabilir, e-postaların boyutunu azaltabilir (ve posta sunucunuza yükleyebilirsiniz) ve bonus olarak, kaç müşterinin geri bildirim aldığını öğrenmek için web sunucunuzdaki günlükleri kontrol edebilirsiniz. aslında mesajlarınızı okumak, onları silmek gibi.


Hmm. Daha önce bu taktiği kullanan bir spam göndericisini görmedim ...
Ernie

Genelde meşru bir bağlantıya sahip düz metin veya iki (çok fazla liberal olarak serpilmez) geçme eğilimindedir ... aksi takdirde spam olarak işaretlenmeden kendime veya başkalarına bağlantılar e-postayla gönderemem. İstenmeyen posta gönderenleri, insanları yanıtlamaya teşvik etmek için "kirli kelimelerle" anlık mesajlaşma gönderdiğini görmediğinizi söylemek gibi bir şey. Yasal trafik de öyle. Anahtar "çok spam" değil ... bevans gibi bir kullanıcı adı muhtemelen "hottienakedchick69" kadar şüpheli değil, içerik aynı olsa bile, ne demek istediğimi anlıyor musun?
Bart Silverstrim

7

E-postaların spam olarak tanımlanmasını ve / veya alıcılara ulaşmamasını önlemek için ayrıntılı çözüm

Örnek durum: için bir PHP web sitesi çalıştıran bir sunucu olması example.combuna ihtiyacı e-postalar göndermek . Ve e-postalarınızın her zaman teslim edilmediğini fark ettiniz. (Bir dükkan sahibiyseniz ve müşteriler e-postaları bir satın alma işleminden sonra alamazlar!).

Tüm aşağıdaki adımları takip edersen, gereken sorunlardan 99,9% çözmek. (Önce sadece birkaçını yapmanın mümkün olduğunu düşündüm ve örneğin DKIM'i atladım, ama sonunda hepsinin sahip olduğum tüm sorunları çözmesi gerekiyordu).

  1. Her şeyden önce, kim e-posta gönderiyor?

    PHP kodunuz e-posta gönderdiğinde, genellikle ünlü PHP işleviyle birlikte gelir mail(...). Peki bu işlev, başlık altında ne yapar? test.phpİçeren bir sayfa çalıştıralım <?php echo ini_get('sendmail_path'); ?>. Örneğin alacak: /usr/sbin/sendmail -t -i. İyi haber, artık hangi programın e-postaları gerçekten kullandığını biliyoruz !
    Şimdi zor bir bilgi: adı sendmailolabilir çeşitli programlar . Gördüğünüz bile sendmailönceki adımda, aklınıza gelebilecek sendmail'i veya postfix'i veya eximi vb veya qmail, yüklü. Yapalım dpkg -S /usr/sbin/sendmail. Cevap postfix: /usr/sbin/sendmail, tamam, bu bizim postfixyüklediğimiz anlamına gelir .

  2. /var/mail/www-dataHangi e-postaların doğru şekilde gönderilmediğini ve nedenini öğrenmek için günlük dosyasına bakın . Bu sonraki adımlar için faydalı olabilir.

  3. Jeff Atwood'un blogunda belirtildiği gibi , ters PTR kayıtlarına bakmanın zamanı geldi. (Buraya daha fazla detay eklenecek).

  4. Postfix config dosyası /etc/postfix/main.cfdosyasına aşağıdaki satırı ekleyin :

    inet_protocols=ipv4
    

    Sonra postfix ile yeniden başlatın service restart postfix. Neden? Çünkü alıcı gmail olduğunda bu şekilde sorun yaşadım:

    Sistemimiz bu mesajın 550-5.7.1 PTR kayıtları ve 550-5.7.1 kimlik doğrulaması ile ilgili IPv6 gönderme kurallarına uymadığını tespit etti. Lütfen 550 5.7.1 daha fazla bilgi için 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error adresini inceleyin .

    En kolay çözüm o zamanlar postfixsadece ipv4'e, dolayısıyla bu adım 4'e (ki sizin için gereksiz olabilir?) Geçmek oldu.

  5. SPF DNS kayıtları . E-posta göndermenize izin verildiğini kanıtlamak için @example.com, etki alanının DNS kayıtlarına bir SPF kaydı ekleyebilirsiniz example.com. Bunu bir yerde buldum The DNS record type 99 (SPF) has been deprecated, onun yerine TXT kaydı kullanıyoruz. Bunu bir TXT DNS kaydı olarak ekleyelim (ayrıca not 1'e bakınız) :

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

    Bu neden içeriyor? Çünkü sunucum @ example.com adresinden e-posta gönderen tek kişi olmayacak! Gmail’i , güvenilir SMTP sağlayıcısı Sendgrid’i kullanarak contact@example.com olarak posta gönderecek şekilde yapılandırdım ( burada ekran görüntüsüne bakın ) . Bunları eklemezsem , Gmail’den e-posta gönderemez .include:@example.com

  6. DKIM dijital imzası. Belirtildiği gibi burada , DKIM'yi hedefi aktarım sırasında tahrif olmadığını posta içeriğinin sağlamaktır. İşte Ubuntu'daki kurulum süreci ( buradaki yararlı rehber ):

    • apt-get install opendkim opendkim-tools

    • Anahtarları oluşturun ( http://dkimcore.org/tools/ ile anahtarlar ve ilgili DNS TXT kaydı da oluşturabilirsiniz ):

      mkdir /etc/opendkim
      cd /etc/opendkim
      opendkim-genkey -t -s mail -d example.com
      
    • Bunu içine koyalım /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
      

      Bu içinde /etc/default/opendkim:

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

      ve son olarak bunu postfix yapılandırma dosyasının sonuna ekleyin /etc/postfix/main.cf:

      # DKIM
      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891
      
    • Şimdi /etc/opendkim/mail.txtetki alanınızın DNS kayıtlarına ortak anahtarı ekleyelim :

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

      Kayıt şirketim Namelynx'le nasıl göründüğü:

    • DKIM için son adım: ile posta hizmetlerini yeniden başlatın service restart opendkim ; service restart postfix.

  7. Her şeyin işe yarayıp yaramadığını test edin. En kolay yöntem PHP üzerinden bir e-posta göndermektir auth-results@verifier.port25.com(bu çok kullanışlı araç Port25 Solutions tarafından kullanılabilir):

    $emailfrom = "Example <contact@example.com>";
    $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: example@gmail.com\n";
    mail("check-auth@verifier.port25.com", "Hello", "Hello!", $headers);
    

    O zaman bu aracın cevabını görün, şöyle görünmesi gerekir:

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

    Mail-tester.com hizmeti de kullanışlıdır.

  8. (İsteğe bağlı) postmaster.google.com adresini deneyin. Kullandım ama yardım edip etmediğini hatırlamıyorum.

  9. Hala işe yaramazsa , çözüm günlerce ve geceleri (başarısız) hata ayıklamayı önlemek için e-postayı profesyonel bir çözümle dış kaynak olarak kullanmak olabilir. İşte bu konuda iyi bir makale. İşte bir alıntı: "Uygulamanızın e-postalarını göndermek s *** olabilir. Zamanın yarısı, kendi sunucunuzdan gönderilen mesajlar alıcının önemsiz klasörüne atılır." haftalarca tweaking yaptıktan sonra ne yazık ki doğru olduğunu keşfettim.


Ek Notlar:

(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.

6

Çevrimiçi işlerim, sipariş onaylama e-postalarının spam’a gönderileceği veya teslim edilmeyeceği (posta sunucuları aracılığıyla kapatıldı) sorunlarıyla karşılaştı. Bunlar basitti, "siparişinizin bir özeti" sitemizin etki alanına bir bağlantı içeren e-postalardı. İşletmem için birkaç Google Apps hesabı satın aldık. Bunlardan birini SMTP sunucunuz olarak çalışacak şekilde ayarlayabilirsiniz. Google’ı posta gönderenimiz olarak kullanmak, tüm bu sorunları durdurdu.

E-posta bültenlerine gelince, kesinlikle sizin için katılmayı / almayı seçen bir hizmet kullanın. Toplu posta göndermek için bir hizmetten başka birinin kullanılması muhtemelen yasaklanmanıza neden olur.


Bu bir geçici çözüm. Doğru bir çözüm, hatalı sisteminizi düzeltmek ve en azından DNS'de uygun bir SPF kaydınızın olmasını sağlamak olacaktır.
John Gardeniers

3
Aslında, eğer ISS sunucunuz açıksa, spam olarak siyah bayrakla işaretlenmişse, size bol şanslar. O sırada Rackspace'deydik. Google’ı SMTP olarak kullanmak, Google’ın kara listede olmadığından emin olmasından beri yardımcı oldu.
Chris K

2

Gelen Kutusunda e-postayla yayınlanan yeni bir kılavuz var

Gördüğüm en kapsamlı. Spam olarak işaretlenmekten kaçınmanın her musluğunu kapsayan 43 farklı noktadan oluşan bir kontrol listesi. Bu sürekli güncellenir.

DNS ayarlarından, Kimlik Doğrulamayı Yapılandırma, İtibar izleme özelliğini ayarlama, Hemen çıkma oranını düşürme, E-posta İçeriğinizi Test Etme vb.

ZeroBounce.NET tarafından her şeyin kapsamını takip etmeye yöneliyor

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


Şu anda, bu yayın aslında sadece bir bağlantıdır. Bağlantı kopsa bile cevabın faydalı kaldığından emin olmak için, lütfen ilgili bilgileri içerecek şekilde düzenleyin.
anx
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.