Programlı olarak gönderdiğiniz e-postanın otomatik olarak spam olarak işaretlenmediğinden nasıl emin olabilirsiniz?


434

Bu zor bir iştir ve her zaman izin tabanlı e-postalar (yani yalnızca gönderme iznine sahip olduğunuz kişilere gönderme) ve açık bir şekilde spam içeren terminoloji kullanmama gibi tekniklere güvenmiştim .

Geç kaldım, programlı olarak gönderdiğim e-postaların bazıları otomatik olarak insanların spam klasörüne karışmaya başladı ve bu konuda ne yapabileceğimi merak ediyorum.

Bu, bu belirli e-postaların insanların spam olarak işaretleyecekleri olmamasına rağmen, özellikle, insanların iyi para ödediği lisans anahtarlarını içeren e-postalardır, bu yüzden onları spam olarak değerlendireceklerini sanmıyorum

Bunun aslında cahil bir basitton olduğum büyük bir konu olduğunu düşünüyorum.

Yanıtlar:


338

E- postalarınızın ve alan adınızın birbirine ait olduğunu kanıtlamak ve alan adınızın taklit edilmesini önlemek için SPF ve DKIM gibi e-posta kimlik doğrulama yöntemlerini kullanın . SPF web sitesi, siteniz için DNS bilgilerini oluşturmak üzere bir sihirbaz içerir.

Posta sunucunuzun IP adresinin, posta göndermek için kullandığınız alan adını gösterdiğinden emin olmak için ters DNS'nizi kontrol edin .

Kullandığınız IP adresinin bir kara listede olmadığından emin olun

Yanıtlama adresinin geçerli ve varolan bir adres olduğundan emin olun.

Yalnızca e-posta adresini (örneğin "John Smith" <john@blacksmiths-international.com>) değil, Kime alanındaki muhatabın tam, gerçek adını kullanın .

Abuse@alanadiniz.com.tr ve postmaster@alanadiniz.com gibi kötüye kullanım hesaplarınızı izleyin. Bu - bu hesapların var olduğundan emin olun, kendilerine gönderilenleri okuyun ve şikayetler üzerine harekete geçin.

Son olarak, abonelikten çıkmayı gerçekten kolaylaştırın. Aksi takdirde, kullanıcılarınız spam düğmesine basarak aboneliğinizi iptal eder ve bu itibarınızı etkiler.

Bununla birlikte, Hotmail'in e-postalarınızı kabul etmesini sağlamak siyah bir sanat olmaya devam ediyor.


Kötüye kullanım hesaplarını ayrıntılandırabilir misiniz? Ne demek istediğinden emin değilim
marcgg

26
brandonchecketts.com/emailtest.php Posta sunucusu kurulumunuzun DomainKeys, DKIM, SPF ve diğer anti-spam yöntemlerine uygun olup olmadığını test edebilirsiniz.
Jonas

3
Ayrıca, kötü e-posta adreslerini doğrulamak için geri dönen bir e-posta-algılama-algoritması yapın (bir posta 3 kez geri
dönerse

11
"Bu, Hotmail'in e-postalarınızı kabul etmesini sağlamak için siyah bir sanat olmaya devam ediyor." Hotmail, spam ve spam olmayanlar arasında çok az ayrım yapar veya hiç fark etmez. Her şey gelen kutusunda veya spam bölmesinde (ayarlarınıza bağlı olarak).
Halil Özgür

2
Brandon Checketts posta sunucusu uygunluk aracını şu adrese taşıdı
Dana Wheeler

30

Mümkün olduğunca çok sayıda büyük e-posta sağlayıcısında (gmail / yahoo / hotmail / aol / etc) bir hesaba kaydolun. E-postalarınızda (büyük yeniden yazma, e-postaları gönderen kodda değişiklikler, e-posta sunucularınızda değişiklikler vb.) Değişiklik yaparsanız, tüm hesaplarınıza test mesajı gönderdiğinizden ve bunların spam olarak işaretlenmediğinden emin olun.


2
Bazı spam sistemleri bireysel okuma alışkanlıklarını dikkate alır. (Bu gönderenden gelen e-postalar okunuyor mu yoksa okumadan siliniyorlar mı? Vb.) Bu, işaretlendiğinde bulmanıza kesinlikle yardımcı olacaktır (gerçek negatif), ancak bu adım diğer kullanıcılar için olmayacaklarını kanıtlamaz. aynı sistemde (yanlış pozitif).
Jon Adams

26

Kullanıcılarınıza, siparişlerini tamamladıklarında Kimden adresinizi kişilerine eklemelerini söyleyebilirsiniz. Bunu yaparlarsa, çok yardımcı olacaktır.

Aksi takdirde, bazı kullanıcılarınızdan bir günlük almaya çalışacağım. Bazen, mesajın başlıklarında neden spam olarak işaretlendiğiyle ilgili ayrıntılar vardır; bunlar metni değiştirmek için kullanabilirsiniz.

Deneyebileceğiniz diğer şeyler:

  • Site adınızı veya adresinizi konuya ekleyin
  • İletideki tüm bağlantıları alan adınızı gösterir (e-posta.com'u değil)
  • E-postaya bir adres veya diğer iletişim bilgilerini ekleyin

24

Önceki bir yanıttan birkaç madde işareti :

  • En önemlisi: Gönderen adresi ("Kimden"), E-postayı gönderdiğiniz sunucuda çalışan bir etki alanına mı ait? Değilse, öyle yap. Asla gibi gönderen adreslerini kullanmayın xxx@gmail.com. reply-toFarklı bir adrese ulaşmak için yanıtlara ihtiyacınız varsa kullanıcı .

  • Sunucunuz bir kara listede mi (örneğin spamhaus.org'da IP'yi kontrol edin)? Bu, komşularınız kötü davrandığında paylaşılan barındırma yaptığınızda bir olasılıktır.

  • Postalar bir spam filtresi tarafından filtreleniyor mu? Spam klasörü olan bir freemailer ile bir hesap açın ve öğrenin. Ayrıca, herhangi bir spam filtresi olmadan bir adrese posta göndermeyi deneyin.

  • Bir gönderen adresi eklemek için mail'in () beşinci parametresine ihtiyacınız var mı? (PHP kılavuzundaki mail () komutuna bakınız)

  • Günlük dosyalarına erişiminiz varsa, elbette bunları kontrol edin.

  • Olası geri dönen postalar için "gönderen:" adresini kontrol ediyor musunuz ("Gönderene geri gönderildi")? Ayrıca, ayrı bir "hatalar" adresi de ayarlayabilirsiniz.

22

E-posta göndermeden önce doğru e-posta adresine sahip olduğunuzu doğrulayın. Birisi kayıt sırasında yanlış e-posta adresi verirse, en kısa sürede bu konuda yendi.

HER e-postaya her zaman açık "abonelikten nasıl çıkılacağı" bilgileri ekleyin. Kullanıcının aboneliği iptal etmek için giriş yapmasını gerektirmez, tek tıklamayla aboneliği iptal etmek için benzersiz bir URL olmalıdır.

Bu, "abonelikten çıkma" çok zor olduğundan kişilerin postalarınızı spam olarak işaretlemesini önler.


11
Tek tıklamayla aboneliği iptal etmek için benzersiz URL için +1. Aboneliği iptal etmek için giriş yapmaktan nefret ediyorum. Bunları SPAM olarak işaretledim!
Shyju

16

Diğer tüm yanıtlara ek olarak, bağlantı metni olarak URL içeren HTML e-postaları gönderiyorsanız, URL'nin bağlantı metniyle eşleştiğinden emin olun. Thunderbird otomatik olarak onları bir aldatmaca olarak işaretler biliyorum.

Yanlış yol:

Go to your account now: <a href="http://www.paypal.com.phishers-anonymous.org/">http://www.paypal.com</a>

Doğru yol:

Go to your account now: <a href="http://www.yourdomain.org/">http://www.yourdomain.org</a>

Veya URL yerine alakasız bağlantı metni kullanın:

<a href="http://www.yourdomain.org/">Click here to go to your account</a>

1
Merhaba Mike, İki domainim var yani domain1.com ve domain2.com. Kodunuz domain1.com için çalışıyor ancak domain2.com için çalışmıyor. Neden bilmiyorum? Hiçbir düşünceyi değiştirmedim. stackoverflow.com/questions/42200904/…
Naren Verma

1
@NarendraVerma Cevabım bu durumda sizin için geçerli gibi görünmüyor. Sizin için başka bir şeyin işe yarayıp yaramadığını görmek için buradaki diğer yanıtlara bakmanızı öneririz. Sonunda, neyi spam olarak değerlendirdiklerine ve nelere izin verdiklerine karar vermek e-posta sağlayıcısına bağlıdır ve her birinin dikkate aldıkları birkaç farklı faktör vardır. Gmail , spam iletisini tıklarsanız iletilerin neden spam olarak işaretlendiğine ilişkin kısa bir açıklama sunar .
Mike

1
Mr.Mike'a cevap verdiğiniz için teşekkürler, aslında cevabınızı domain1'e uyguladım ve bu işe yarıyor. PHpMailer kullanıyorum ve $ email_body = "<a href=' domain1.com'> Görünüm </ a >" gibi ekledim . Bu mükemmel çalışıyor.
Naren Verma

1
İkinci domain2'nin neden çalışmadığını bilmiyorum. Elbette, Gmail ekibiyle iletişime geçeceğim. Bu kodda başka bir öneriniz var mı?
Naren Verma

@NarendraVerma Kodunuzda yanlış bir şey yok.
Mike

15

Teslimat sorunlarını ele alan bir üçüncü taraf e-posta hizmetini düşünebilirsiniz:

  • Kesin Hedef
  • Dikey Yanıt
  • Sürekli İletişim
  • Kampanya Monitörü
  • Emma
  • Dönüş yolu
  • IntelliContact
  • Silverpop

15

E-posta iletmek bazen kara büyü gibi olabilir. Ters DNS gerçekten önemlidir.

NDR'leri dikkatlice takip etmenin çok yardımcı olduğunu gördüm. Tüm NDR'lerimi tek bir adrese yönlendiriyorum ve bunları ayrıştıran bir windows hizmetim var (Google ListNanny). NDR'den bir veritabanına olabildiğince fazla bilgi koydum ve sonra aniden belirli bir etki alanı tarafından engellenmeye başlayıp başlamadığımı görmek için raporlar çalıştırıyorum. Ayrıca, daha önce NDR olarak işaretlenmiş adreslere e-posta göndermekten kaçınmalısınız, çünkü bu genellikle spamin iyi bir göstergesidir.

Bir kerede bir sürü müşteri hizmeti e-postası göndermeniz gerekiyorsa, her biri arasında bir gecikme koymak en iyisidir, çünkü bir seferde bir alan adına çok fazla neredeyse aynı e-posta gönderirseniz, bunların kara liste.

Bazı alan adlarının bazen yayınlanması imkansızdır. Comcast.net en kötüsü.

IP'lerinizin http://www.mxtoolbox.com/blacklists.aspx gibi sitelerde listelenmediğinden emin olun .


2
NDR nedir? Lütfen biraz açıklayabilir misiniz?
Pykih

2
Edilemedi raporu, nam mesajı sıçrama .
Üçlü

14

Size söylemekten nefret ediyorum, ancak ben ve diğerleri spam filtrelememizi kontrol etmek için beyaz liste varsayılanlarını kullanıyor olabiliriz.

Bu, bilinmeyen bir kaynaktan gelen tüm e-postaların otomatik olarak spam olduğu ve bir spam klasörüne yönlendirildiği anlamına gelir. (E-posta hizmetimin spam'i silmesine izin vermiyorum, çünkü gelenleri her zaman yanlış pozitifler için incelemek istiyorum, bu da klasörün hızlı bir şekilde taranmasıyla yapılması oldukça kolay bir şey.)

Hatta kendimden gelen e-postam spam kovasına gidiyor çünkü (1) genellikle kendime e-posta göndermiyorum ve (2) bana gönderilen spam adresindeki sahte adresimi taklit eden spam göndericiler var.

Bu nedenle spam atamasından çıkmak için, postanızın meşru olup olmadığını görmek için postanızın meşru (gönderen ve konu bilgilerinden) olabileceğini ve önce düz metin olarak (tüm gelen postalar, spam ya da değil benim varsayılanım) açabileceğimi düşünmeliyim. . Spam klasörüm e-postalarda herhangi bir bağlantı kullanmayacak, bu yüzden zor resim bağlantılarına ve diğer hatalı davranışlara karşı korunuyorum.

Aynı kaynaktan gelecek gelenlerin gelen kutuma gitmesini ve spam incelemesi için yönlendirilmesini istemiyorsam, bunu e-posta istemcime belirleyeceğim. Toplu e-posta ileticileri ve her e-posta parçası için benzersiz gönderen adresleri kullanan kuruluşlar için bu çok kötü. Asla onayımı almazlar ve her zaman spam klasörümde görünürler ve eğer meşgulsem onlara asla bakmayacağım.

Son olarak, bir e-posta düz metin olarak okunamıyorsa, HTML olarak gönderilse bile, kaynak ve önceki değerli deneyimler nedeniyle ilgimi çekmediğini bildiğim bir şey olmadığı sürece onu silme olasılığı çok yüksektir.

Gördüğünüz gibi, nihayetinde bir kullanıcı kontrolü altındadır ve böyle bir sistemi postanızın yalnızca yapısından meşru olduğuna ikna edecek otomatik bir işlem yoktur. Bu durumda, iyi oynamanız, kimlik avına benzer bir şey yapmamanız ve postanıza güvenmeye istekli kullanıcıların sizi beyaz listelerine eklemelerini kolaylaştırmanız gerekir.


13

uygulamamın e-postalarından biri sürekli spam olarak etiketleniyordu. bir metin / html içerik türü ile vücutta html olarak gönderilen tek bir bağlantı ile html oldu.

bu sorunla ilgili en başarılı çözümüm, bir e-posta istemcisi tarafından oluşturulmuş gibi görünmesi için e-postayı oluşturmaktı.

e-postayı çok bölümlü / alternatif bir mime belgesi olarak değiştirdim ve şimdi hem metin / düz hem de metin / html parçaları üretiyorum.

e-posta artık görünüm tarafından önemsiz olarak algılanmıyor.


bu yaklaşım, HTML özellikli e-posta istemcilerini kullanmayan güvenlik bilincine de yardımcı olur
Jasen

13

Yahoo, SPF Kurulum Sihirbazı'nda yapılandırılabilen ve DNS'nize girilebilen Gönderen Kimliği adlı bir yöntem kullanır . Ayrıca Exchange, Hotmail, AOL, Yahoo ve diğerleri için önemli olanlardan biri, alan adınız için bir Ters DNS'ye sahip olmaktır. Bunlar sorunların çoğunu ortadan kaldıracak. Bununla birlikte, bir kişinin kasıtlı olarak sizin veya özel kurallarınızı engellemesini engelleyemezsiniz.


3
Yahoo, SPF kayıtlarını ve DomainKeys kullanır; SenderID, kullanılmaması gereken farklı (ve birçok yönden uyumsuz, güvensiz ve kötü tasarlanmış) bir teknolojidir.
Dan Udey

11

Ters DNS girişine ihtiyacınız var. Aynı içeriği aynı kullanıcıya iki kez göndermeniz gerekmez. Bazı yaygın web posta ve e-posta istemcileri ile test etmeniz gerekir. Şahsen benim yeni yüklenen bir spam suikastçısı, eğitimli bir spam suikastçısı ve birden fazla hotmail, gmail ve aol hesabı üzerinden çalıştım.

Ancak, hiçbir şeye bağlantı vermediği veya reklam vermediği spam'leri gördünüz mü? Bu Bayesian filtrenizi etkilemeye çalışan bir spamcı. Yüksek bir puan alabilir ve daha sonra gelecekteki e-postalarında olacak bazı kelimeler ekleyebilirse, otomatik olarak iyi öğrenilebilir. Dolayısıyla, bir kullanıcının filtresinin posta adresinizdeki gibi ayarlanacağını gerçekten tahmin edemezsiniz.

Son olarak, listemi alan adlarına göre sıralamadım, ancak rastgele seçtim.


10

Vücuttaki gerçek adı ve soyadı alıcıları kullanmanın spam filtresinden geçmenin kesin bir yol olduğunu buldum.


8

İngiltere'de şirketiniz ve kayıtlı numarası için gerçek bir fiziksel adres eklemek de en iyi uygulamadır.

Bu şekilde her şey açık ve dürüsttür ve manuel olarak spam olarak işaretleme olasılıkları daha düşüktür.


7

Ekleyeceğim :

"Aboneliği iptal et" i tıkladığınızda gerçek abonelikten çıkma sağlayın. Tıklama şovlarında "başarıyla abonelikten çıkarıldı" ifadesini gösteren bir kukla abonelikten çıkma bağlantısı sağlayan gerçek bültenler gördüm, ancak yine de başka bültenler alacağım.


7

Yapabileceğiniz en önemli şey, e-posta gönderdiğiniz kişilerin e-postalarınızı aldıklarında büyük olasılıkla "Spam" düğmesine basmadığından emin olmaktır. Bu nedenle, aşağıdaki kurallara uyun:

  • E-posta gönderdiğiniz kişilerden izin aldığınızdan emin olun. Sizden istemeyen birine asla e-posta göndermeyin.

  • Her iletinin en üstünde kim olduğunuzu ve kişinin neden e-postayı aldığını açıkça belirtin.

  • Ayda en az bir kez, listenizdeki kişilere (bir liste çalıştırıyorsanız) hatırlatma e-postası gönderin ve sizden iletişim almaya devam etmek için listeye tekrar katılmaya zorlayın. Evet, bu, listenizin zamanla kısaldığı anlamına gelir, ancak üst kısım, listenizdeki kişilerin "satın alındığı" ve e-postanızı işaretleme olasılığının düşük olacağıdır.

  • İçeriğinizi son derece alakalı ve yararlı tutun.

  • İnsanlara daha fazla iletişimi devre dışı bırakmak için kolay bir yol verin.

  • İyi bir IP itibarını korumak için çok çalışan SendGrid gibi bir e-posta gönderme hizmeti kullanın.

  • Kısa bağlantılar kullanmaktan kaçının - bunlar genellikle kara listeye alınır.

Bu kurallara uymak uzun bir yol kat edecektir.


6

Aynı sorunu işte yaptığım birçok sitede geçmişte yaşadım. Kullanıcının e-postayı aldığından emin olmanın tek garantili yöntemi, kullanıcıya sizi güvenli listeye eklemesini tavsiye etmektir. Başka herhangi bir yöntem gerçekten sadece ona yardımcı olabilecek bir şey olacaktır ve garanti edilmez.


6

Hizmetinize kaydolan kişilerin, düzeltmediğiniz hatalar yazarak e-postalara girmeleri çok iyi olabilir. Örneğin: chris @ gmial.com -veya- james @ hotnail.com .

Bu tür alanlar, e-posta sunucunuzun IP ve / veya alan adını otomatik olarak işaretleyen ve itibarını zedeleyen spam tuzakları olarak kullanılmak üzere yapılandırılmıştır .

Bunu önlemek için ürün aboneliğinize girilen e-posta adresini bir kez daha kontrol edin. Ayrıca, ürün anahtarını göndermeden veya aboneliklerini kabul etmeden önce, bu e-posta adresinin onay e-postasını giren bir kişi tarafından% 100 onaylandığından emin olmak için bir onay e-postası gönderin. Doğrulama e-postası, posta kutusunun sahibinin kaydolan kişi olduğunu gerçekten doğrulamak için alıcının bir bağlantıyı veya yanıtı tıklamasını gerektirir.


1
Bu. İlk etapta temel abonelik hijyenini uygulamazsanız, şu anda kabul edilen cevapta hiçbir şey fark etmez.
Üçlü

4

Alıcı uçta neyin sıkıştığını belirlemek için bazı geri bildirimlere bağlı olduğunuz anlaşılıyor. Giden postayı bariz bir şekilde "spam" olarak kontrol ediyor olmalısınız.

Herhangi bir iyi spam kontrol sistemi satın alın ve giden postanızı gönderin. Yeterli miktarda posta gönderirseniz, özellikle masaüstü Windows kullanıcılarınız varsa, giden virüs gönderme riski nedeniyle bunu yine de yapmalısınız.

Proofpoint, örneğin tek bir dağıtımda spam + virüsten koruma + bazı itibar hizmetlerine sahipti. (Eskiden orada çalışıyordum, bu yüzden bunu başımın üstünden biliyorum. Bu alandaki diğer satıcıların benzer özelliklere sahip olduğundan eminim.) Ama fikri anladınız. Postanızı temel bir ticari spam kontrol kurulumu yoluyla gönderirseniz ve geçmezse, ağınızdan çıkmamalıdır.

Ayrıca, Habeas gibi spam olmayan, giden e-postaların dağıtım oranlarını artırmanıza yardımcı olabilecek bazı şirketler de vardır.


3

Google'ın bunun için bir aracı ve yönergeleri vardır. Bunları şu adreste bulabilirsiniz: https://postmaster.google.com/ Alan adınızı kaydedin ve doğrulayın; Google, söz konusu IP adresi ve alan adı için ayrı bir puanlama sağlar.

Gönderen toplu gönderenler kurallar :

Kimlik doğrulama, mesajlarınızın doğru bir şekilde sınıflandırılmasını sağlar. Kimlik avı dolandırıcılığı için kullanılan sahte iletiler olma olasılığı yüksek olduğundan, kimlik doğrulaması olmayan e-postaların reddedilmesi veya spam klasörüne yerleştirilmesi olasıdır. Ayrıca, ekleri olan kimliği doğrulanmamış e-postalar güvenlik nedeniyle açıkça reddedilebilir.

Gmail'in sizi tanımasını sağlamak için:

  • Toplu posta göndermek için tutarlı bir IP adresi kullanın.
  • Posta gönderdiğiniz IP adresleri için alan adınızı gösteren geçerli ters DNS kayıtlarını tutun.
  • Gönderdiğiniz her toplu postadaki 'Kimden:' başlığında aynı adresi kullanın. Ayrıca aşağıdakileri de öneririz:

  • DKIM ile mesaj imzalayın. 1024 bit'ten az anahtarlarla imzalanmış iletilerin kimliğini doğrulamıyoruz.

  • Bir SPF kaydı yayınlayın.
  • Bir DMARC politikası yayınlayın.

1

Her zaman kullanıyorum: https://www.mail-tester.com/

Bana e-posta göndermenin teknik kısmı hakkında geri bildirim veriyor. SPF kayıtları, DKIM, Spamassassin skoru vb. Neyin gerekli olduğunu bilmeme rağmen, sürekli hatalar yapıyorum ve mail-tester.com neyin yanlış olabileceğini anlamayı kolaylaştırıyor.


0

DMARC'nin SPF'nin geçmesine ve sendmail kullanırken hizalanmasına izin vermek için , zarf gönderen adresini ( -fveya -rparametresini), alandaki alanla eşleşen bir şeye ayarladığınızdan emin olun .From: başlık adresindeki .

PHP ile:

PHP'nin yerleşik mail()işlevini 5. parametreyi ayarlamadan kullanmak, DMARC SPF denetimlerinin doğru yapılmadığı takdirde hizalanmamasına neden olur. Sendmail varsayılan olarak web sunucusunun kullanıcısıyla birlikte e-postayı RFC5321 .MailFrom / Dönüş Yolu başlığı olarak gönderir .

Örneğin, web sitesi barındırma söylüyorlar domain.comüzerinde host.comweb sunucusu. Ek parametreler parametresini ayarlamazsanız:

mail($to,$subject,$message,$headers); // Wrong way

E-posta alıcısına aşağıdaki posta başlıklarını içeren bir e-posta gönderilir:

Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>

Bu SPF kontrollerini geçmesine rağmen, hizalanmamış olacaktır (domain.com ve host.com eşleşmediğinden), bu da DMARC SPF kontrolünün hizalanmamış olarak başarısız olacağı anlamına gelir.

Bunun yerine, gereken PHP 5. parametresini ekleyerek sendmail zarf gönderen adresini geçmesi mail()örneğin fonksiyonu:

mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way

Bu durumda, e-posta alıcısına aşağıdaki posta başlıklarını içeren bir e-posta gönderilir:

Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>

Bu başlıkların her ikisi de adresleri içerdiğinden domain.com, SPF geçecek ve hizalanacaktır, bu da DMARC'nin SPF kontrolünü de geçeceği anlamına gelir.

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.