Come fai ad assicurarti che le email che invii a livello di codice non vengano automaticamente contrassegnate come spam?


435

È complicato e ho sempre fatto affidamento su tecniche, come le e-mail basate sui permessi (cioè solo inviando a persone a cui hai il permesso di inviare) e non usando una terminologia palesemente spam .

Di recente, alcune delle e-mail che invio a livello di codice hanno iniziato a essere rimescolate automaticamente nella cartella spam delle persone e mi chiedo cosa posso fare al riguardo.

Questo nonostante il fatto che queste e-mail particolari non siano quelle che gli umani contrassegnerebbero come spam, in particolare, sono e-mail che contengono chiavi di licenza per le quali le persone hanno pagato buoni soldi, quindi non credo che li considereranno spam

Immagino che questo sia un grande argomento in cui sono essenzialmente un ignorante ignorante.

Risposte:


338

Utilizzare metodi di autenticazione e-mail, come SPF e DKIM per dimostrare che le e-mail e il nome del dominio appartengono insieme e per impedire lo spoofing del nome del dominio. Il sito Web SPF include una procedura guidata per generare le informazioni DNS per il tuo sito.

Controlla il tuo DNS inverso per assicurarti che l'indirizzo IP del tuo server di posta punti al nome di dominio che usi per inviare la posta.

Assicurati che l'indirizzo IP che stai utilizzando non sia su una lista nera

Assicurarsi che l'indirizzo di risposta sia un indirizzo valido ed esistente.

Utilizza il nome reale completo del destinatario nel campo A, non solo l'indirizzo e-mail (ad es "John Smith" <john@blacksmiths-international.com>.).

Monitora i tuoi account sugli abusi, come abuse@tuodominio.com e postmaster@tuodominio.com. Ciò significa: assicurati che questi account esistano, leggi cosa viene loro inviato e agisci in caso di reclami.

Infine, lo rendono davvero facile da annullare l'iscrizione. Altrimenti, i tuoi utenti annulleranno l'iscrizione premendo il pulsante spam e ciò influenzerà la tua reputazione.

Detto questo, far sì che Hotmail accetti le tue e-mail rimane un'arte nera.


Potresti approfondire gli account sugli abusi? Non sono sicuro di cosa intendi
marcgg,

26
brandonchecketts.com/emailtest.php puoi verificare se la configurazione del tuo server di posta è conforme a DomainKeys, DKIM, SPF e altri metodi anti-spam.
Jonas,

3
inoltre, crea un algoritmo di rilevamento delle e-mail rimbalzate per verificare indirizzi e-mail errati (ad esempio se una e-mail rimbalza 3 volte, smetti di inviare e-mail a quell'indirizzo)
clyfe

11
+1 per "Detto questo, far accettare a Hotmail le tue e-mail rimane un'arte nera." Hotmail non fa alcuna differenza tra spam e non spam. O tutto è nella posta in arrivo o nel cestino dello spam (in base alle tue impostazioni).
Halil Özgür,

2
Brandon Checketts ha spostato il suo strumento di conformità del server di posta su: dkimvalidator.com
Dana Wheeler,

30

Iscriviti per un account sul maggior numero possibile di principali provider di posta elettronica (gmail / yahoo / hotmail / aol / ecc.). Se apporti modifiche alle tue e-mail, o importanti riformulazioni, modifiche al codice che invia le e-mail, modifiche ai tuoi server e-mail, ecc., Assicurati di inviare messaggi di prova a tutti i tuoi account e verificare che non vengano contrassegnati come spam.


2
Alcuni sistemi di spam prendono in considerazione le abitudini di lettura individuali. (Le e-mail di questo mittente vengono lette o vengono eliminate senza leggere? Ecc.) Quindi questo ti aiuterà sicuramente a trovare quando vengono contrassegnate (vero negativo), ma questo passaggio non dimostrerà che non lo saranno per gli altri utenti sullo stesso sistema (falso positivo).
Jon Adams,

26

Puoi dire ai tuoi utenti di aggiungere il tuo indirizzo From ai loro contatti quando completano il loro ordine, che, se lo fanno, ti aiuterà molto.

Altrimenti, proverei a ottenere un registro da alcuni dei tuoi utenti. A volte hanno dettagli sul perché è stato contrassegnato come spam nelle intestazioni del messaggio, che puoi usare per modificare il testo.

Altre cose che puoi provare:

  • Inserisci il nome o l'indirizzo del tuo sito nell'oggetto
  • Mantieni tutti i link nel messaggio che puntano al tuo dominio (e non a email.com)
  • Inserisci un indirizzo o altre informazioni di contatto nell'email

24

Alcuni punti elenco di una risposta precedente :

  • Più importante: l'indirizzo del mittente ("Da") appartiene a un dominio che viene eseguito sul server da cui si invia l'e-mail? Altrimenti, fallo così. Non usare mai indirizzi mittente come xxx@gmail.com. Utente reply-tose hai bisogno di risposte per arrivare a un indirizzo diverso.

  • Il tuo server è in una lista nera (ad es. Controlla IP su spamhaus.org)? Questa è una possibilità quando si è in hosting condiviso quando i vicini si comportano male.

  • Le e-mail sono filtrate da un filtro antispam? Apri un account con un freemailer con una cartella spam e scoprilo. Inoltre, prova a inviare la posta a un indirizzo senza alcun filtro antispam.

  • È forse necessario il quinto parametro "-f" di mail () per aggiungere un indirizzo mittente? (Vedi il comando mail () nel manuale di PHP)

  • Se hai accesso ai file di registro, controlla quelli, ovviamente.

  • Controlli l'indirizzo "da:" per possibili mail di rimbalzo ("Restituito al mittente")? Puoi anche impostare un indirizzo "errori-to" separato.

22

Conferma di disporre dell'indirizzo e-mail corretto prima di inviare e-mail. Se qualcuno fornisce un indirizzo e-mail errato al momento dell'iscrizione, batterlo al volo al più presto.

Includi sempre informazioni chiare su "come annullare l'iscrizione" in OGNI email. Non richiedere all'utente di accedere per annullare l'iscrizione, dovrebbe essere un URL univoco per l'annullamento dell'iscrizione con un clic.

Ciò impedirà alle persone di contrassegnare le tue e-mail come spam perché "annullare l'iscrizione" è troppo difficile.


11
+1 per l'URL univoco per l'annullamento dell'iscrizione in 1 clic. Odio accedere per annullare l'iscrizione. Ho contrassegnato quelli come SPAM!
Shyju,

16

Oltre a tutte le altre risposte, se si inviano e-mail HTML che contengono URL come testo di collegamento, assicurarsi che l'URL corrisponda al testo di collegamento. So che Thunderbird li contrassegna automaticamente come una truffa, in caso contrario.

La strada sbagliata:

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

Il modo giusto:

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

Oppure utilizza un testo di collegamento non correlato anziché un URL:

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

1
Ciao Mike, ho due domini cioè domain1.com e domain2.com. Il tuo codice funziona per domain1.com ma non funziona per domain2.com. Non so perché? Non ho cambiato idea. stackoverflow.com/questions/42200904/…
Naren Verma,

1
@NarendraVerma Non sembra che la mia risposta si applichi a te in questo caso. Consiglio di guardare le altre risposte qui per vedere se qualcos'altro funziona per te. Alla fine, spetta al provider di posta elettronica decidere cosa considerano spam e cosa lasciano passare e ognuno di essi ha diversi fattori da considerare. Gmail in realtà ti fornisce una breve descrizione del perché i messaggi sono contrassegnati come spam se fai clic sul messaggio spam.
Mike,

1
Grazie per aver risposto Mr.Mike, in realtà ho applicato la tua risposta in domain1 e funziona. Sto usando PHpMailer e ho aggiunto come $ email_body = "<a href=' domain1.com'> Visualizza </ a >". Funziona perfettamente.
Naren Verma

1
Non so perché il secondo dominio2 non funzioni. Certo, contatterò con il team di Gmail. Qualche altro suggerimento in questo codice?
Naren Verma,

@NarendraVerma Non c'è niente di sbagliato nel tuo codice.
Mike

15

Puoi considerare un servizio di posta elettronica di terze parti che gestisce i problemi di consegna:

  • Target esatto
  • Risposta verticale
  • Contatto costante
  • Monitoraggio campagna
  • Emma
  • Sentiero di ritorno
  • IntelliContact
  • Silverpop

15

Il recapito della posta elettronica a volte può essere come una magia nera. Il DNS inverso è davvero importante.

Ho trovato molto utile tracciare con attenzione i rapporti di mancato recapito. Indirizzo tutti i miei rapporti di mancato recapito a un singolo indirizzo e ho un servizio Windows che li analizza (Google ListNanny). Ho inserito quante più informazioni possibili dal rapporto di mancato recapito possibile in un database, quindi eseguo i rapporti su di esso per vedere se ho improvvisamente iniziato a essere bloccato da un determinato dominio. Inoltre, dovresti evitare di inviare e-mail a indirizzi che erano stati precedentemente contrassegnati come NDR, perché in genere è una buona indicazione di spam.

Se devi inviare un sacco di e-mail di assistenza clienti contemporaneamente, è meglio ritardare tra di loro, perché se invii troppe e-mail quasi identiche a un dominio alla volta, sei sicuro di finire sul loro lista nera.

Alcuni domini sono impossibili da consegnare a volte. Comcast.net è il peggiore.

Assicurati che i tuoi IP non siano elencati su siti come http://www.mxtoolbox.com/blacklists.aspx .


2
Che cos'è un rapporto di mancato recapito? Puoi per favore elaborare?
Pykih,

2
Rapporto di mancato recapito, noto anche come messaggio di rimbalzo .
Tripleee,

14

Odio dirtelo, ma io e altri potremmo usare le impostazioni predefinite della white list per controllare il nostro filtraggio dello spam.

Ciò significa che tutta la posta elettronica da una fonte sconosciuta viene automaticamente spam e deviata in una cartella spam. (Non lascio che il mio servizio di posta elettronica elimini lo spam, perché voglio sempre rivedere gli arrivi per falsi positivi, cosa che è abbastanza facile da fare con una rapida scansione della cartella.)

Ho persino ricevuto e-mail da me stesso nel bucket spam perché (1) di solito non invio e-mail a me stesso e (2) ci sono spammer che falsificano il mio indirizzo di ritorno nello spam inviato a me.

Quindi, per uscire dalla designazione di spam, devo considerare che la tua posta potrebbe essere legittima (dalle informazioni sul mittente e sull'oggetto) e aprirla prima in testo normale (il mio valore predefinito per tutta la posta in arrivo, spam o no) per vedere se è legittima . La mia cartella spam non utilizzerà alcun link nelle e-mail, quindi sono protetto da link di immagini difficili e altri comportamenti scorretti.

Se voglio che i futuri arrivi dalla stessa fonte vadano nella mia casella di posta e non vengano deviati per la revisione dello spam, lo specificherò sul mio client di posta elettronica. Per quelle organizzazioni che usano spedizionieri di massa e indirizzi di mittente univoci per pezzo di posta, è un peccato. Non ottengono mai la mia approvazione e vengono sempre visualizzati nella mia cartella spam, e se sono occupato non li guarderò mai.

Infine, se un'e-mail non è leggibile in testo normale, anche se inviata come HTML, è probabile che la elimini solo a meno che non sia qualcosa che conosco mi interessi in virtù della fonte e delle precedenti esperienze preziose.

Come puoi vedere, alla fine è sotto il controllo degli utenti e non esiste un atto automatizzato che convincerà un sistema del genere che la tua posta è legittima dalla sua sola struttura. In questo caso, devi giocare bene, non fare nulla di simile al phishing e rendere più semplice agli utenti che si fidano della tua posta di aggiungerti alla loro lista bianca.


13

una delle e-mail della mia applicazione veniva costantemente etichettata come spam. era html con un singolo link, che ho inviato come html nel corpo con un tipo di contenuto text / html.

la mia soluzione più efficace a questo problema è stata quella di comporre l'e-mail in modo che sembrasse che fosse generata da un client di posta elettronica.

ho cambiato l'e-mail in un documento mime multipart / alternativo e ora generi parti text / plain e text / html.

l'e-mail non viene più rilevata come indesiderata da Outlook.


questo approccio è utile anche per gli esperti di sicurezza che non utilizzano client di posta elettronica con funzionalità HTML,
Jasen

13

Yahoo utilizza un metodo chiamato ID mittente, che può essere configurato durante l'installazione guidata di SPF e inserito nel DNS. Anche uno dei più importanti per Exchange, Hotmail, AOL, Yahoo e altri è avere un DNS inverso per il tuo dominio. Questi elimineranno la maggior parte dei problemi. Tuttavia, non puoi mai impedire a una persona di bloccare intenzionalmente le tue regole personalizzate.


3
Yahoo utilizza record SPF e DomainKeys; SenderID è una tecnologia diversa (e per molti versi incompatibile, insicura e mal progettata), che non dovrebbe essere utilizzata.
Dan Udey,

11

È necessaria una voce DNS inversa. Non è necessario inviare due volte lo stesso contenuto allo stesso utente. Devi testarlo con alcuni client webmail ed e-mail comuni. Personalmente ho passato il mio attraverso un assassino di spam appena installato, un assassino di spam addestrato e più account hotmail, gmail e aol.

Ma hai visto quello spam che non sembra collegarsi o pubblicizzare nulla? È uno spammer che cerca di influenzare il tuo filtro bayesiano. Se riesce a ottenere un punteggio elevato e quindi include alcune parole che sarebbero presenti nelle sue e-mail future, potrebbe essere automaticamente appreso come buono. Quindi non puoi davvero indovinare quale filtro di un utente verrà impostato al momento della tua spedizione.

Infine, non ho ordinato la mia lista in base ai domini, ma l'ho randomizzata.


10

Ho scoperto che l'uso dei nomi e dei nomi reali dei destinatari nel corpo è un modo sicuro per passare attraverso un filtro antispam.


8

Nel Regno Unito è anche consigliabile includere un indirizzo fisico reale per la tua azienda e il suo numero registrato.

In questo modo è tutto aperto e onesto e hanno meno probabilità di contrassegnarlo manualmente come spam.


7

Aggiungerei:

Fornire disiscrizione reale facendo clic su "Annulla iscrizione". Ho visto newsletter reali che forniscono un link fittizio di disiscrizione che al clic mostra "è stato annullato con successo" ma riceverò comunque ulteriori newsletter.


7

La cosa più importante che puoi fare è assicurarti che le persone a cui stai inviando e-mail non possano premere il pulsante "Spam" quando ricevono la tua e-mail. Quindi, attenersi alle seguenti regole pratiche:

  • Assicurati di avere l'autorizzazione delle persone a cui stai inviando e-mail. Non inviare mai e-mail a qualcuno che non l'ha richiesto da te.

  • Identifica chiaramente chi sei proprio nella parte superiore di ogni messaggio e perché la persona sta ricevendo l'e-mail.

  • Almeno una volta al mese, invia un'e-mail di promemoria alle persone nel tuo elenco (se stai eseguendo un elenco), costringendoli a riconnettersi all'elenco per continuare a ricevere comunicazioni da te. Sì, ciò significa che la tua lista si riduce nel tempo, ma il lato positivo è che le persone nella tua lista vengono "acquistate" e avranno meno probabilità di contrassegnare la tua e-mail.

  • Mantieni i tuoi contenuti estremamente pertinenti e utili.

  • Offri alle persone un modo semplice per rinunciare a ulteriori comunicazioni.

  • Utilizzare un servizio di invio e-mail come SendGrid che lavora sodo per mantenere una buona reputazione IP.

  • Evita l'uso di collegamenti brevi, che spesso sono nella lista nera.

Seguire queste regole empiriche farà molta strada.


6

Ho avuto lo stesso problema in passato su molti siti che ho fatto qui al lavoro. L'unico metodo garantito per assicurarsi che l'utente riceva l'e-mail è di avvisare l'utente di aggiungerti all'elenco sicuro. Qualsiasi altro metodo sarà davvero qualcosa che può aiutare con esso e non è garantito.


6

Potrebbe benissimo essere che le persone che si iscrivono al tuo servizio stiano inserendo e-mail con errori di battitura non corretti. Ad esempio: chris @ gmial.com -or- james @ hotnail.com .

E tali domini sono configurati per essere utilizzati come spamtraps che segnaleranno automaticamente l'IP e / o il dominio del tuo server di posta elettronica e ne danneggeranno la reputazione.

Per evitarlo, ricontrolla l'indirizzo e-mail inserito al momento dell'iscrizione al prodotto. Inoltre, invia un'e-mail di conferma per assicurarti davvero che questo indirizzo e-mail sia validato al 100% da un essere umano che sta inserendo l'e-mail di conferma, prima di inviare loro la chiave del prodotto o accettare il loro abbonamento. L'e-mail di verifica dovrebbe richiedere al destinatario di fare clic su un collegamento o rispondere per confermare realmente che il proprietario della cassetta postale è la persona che si è registrata.


1
Questo. Nulla nella risposta attualmente accettata può fare la differenza se in primo luogo non si pratica l'igiene di base dell'abbonamento.
Tripleee,

4

Sembra che tu dipenda da alcuni feedback per determinare cosa si blocca sul lato ricevente. Dovresti controllare tu stesso la posta in uscita per l'evidente "spamming".

Acquista qualsiasi sistema di controllo dello spam decente e invia la tua posta in uscita attraverso di essa. Se invii un discreto volume di posta, dovresti comunque farlo, a causa del rischio di invio di virus in uscita, soprattutto se hai utenti di desktop Windows.

Proofpoint aveva ad esempio spam + anti-virus + alcuni servizi di reputazione in una singola distribuzione. (Lavoravo lì, quindi mi è capitato di saperlo dalla cima della mia testa. Sono sicuro che altri venditori in questo spazio hanno caratteristiche simili.) Ma hai capito. Se invii la tua posta attraverso una configurazione di controllo dello spam commerciale di base e non passa, non dovrebbe uscire dalla tua rete.

Inoltre, ci sono alcune aziende che possono aiutarti ad aumentare i tassi di consegna di e-mail in uscita non spam, come Habeas.


3

Google ha uno strumento e linee guida per questo. Puoi trovarli su: https://postmaster.google.com/ Registrati e verifica il tuo nome di dominio e Google fornisce un punteggio individuale per quell'indirizzo IP e quel dominio.

Dalle linee guida per i mittenti di massa :

L'autenticazione garantisce che i tuoi messaggi possano essere classificati correttamente. È probabile che le e-mail prive di autenticazione vengano rifiutate o inserite nella cartella spam, data l'elevata probabilità che siano messaggi falsi utilizzati per le truffe di phishing. Inoltre, le e-mail non autenticate con allegati possono essere totalmente rifiutate, per motivi di sicurezza.

Per garantire che Gmail possa identificarti:

  • Utilizzare un indirizzo IP coerente per inviare posta in blocco.
  • Conserva record DNS inversi validi per gli indirizzi IP da cui invii la posta, che punta al tuo dominio.
  • Usa lo stesso indirizzo nell'intestazione "Da:" su ogni posta collettiva che invii. Raccomandiamo inoltre quanto segue:

  • Firma i messaggi con DKIM. Non autentichiamo i messaggi firmati con chiavi utilizzando meno di 1024 bit.

  • Pubblica un record SPF.
  • Pubblica una politica DMARC.

1

Uso sempre: https://www.mail-tester.com/

Mi dà un feedback sulla parte tecnica dell'invio di una e-mail. Come i record SPF, i punteggi DKIM, Spamassassin e così via. Anche se so cosa è necessario, continuo a fare errori e mail-tester.com rende facile capire cosa potrebbe essere sbagliato.


1

Prima di tutto, devi assicurarti che siano in atto i meccanismi di autenticazione email richiesti come SPF e DKIM. Questi due sono modi importanti per dimostrare che eri il vero mittente di una e-mail e che non è davvero falsificato. Ciò riduce le possibilità che le e-mail vengano filtrate come spam.

La seconda cosa è che puoi controllare l'output DNS inverso del tuo nome di dominio rispetto a diversi DNSBL. Utilizzare sotto il semplice comando sul terminale:

  **dig a +short (domain-name).(blacklist-domain-name)**

  ie.  dig a +short example.com.dsn.rfc-clueless.org
  > 127.0.0.2

Negli esempi sopra, ciò significa che il tuo dominio "esempio.com" è elencato nella lista nera ma a causa della conformità alle impostazioni del dominio (dominio elenco rfc-clueless.org che presenta un problema di conformità)

nota: preferisco lo strumento multivalley e pepipost per controllare gli elenchi di domini.

L'indirizzo from / reply-to-id dovrebbe essere corretto, usa sempre il pulsante visibile per annullare l'iscrizione all'interno del tuo corpo e-mail (questo aiuterà i tuoi utenti a uscire dalla tua lista e-mail senza uccidere la reputazione del tuo dominio)


0

Per consentire ai controlli DMARC di passare SPF e di allinearli anche quando si utilizza sendmail, assicurarsi di impostare l'indirizzo ( -fo il -rparametro) del mittente della busta su qualcosa che corrisponda al dominio nell'indirizzo From:dell'intestazione.

Con PHP:

L'uso della funzione integrata di PHP mail()senza l'impostazione del 5o parametro determinerà il disallineamento dei controlli DMARC SPF se non eseguito correttamente. Per impostazione predefinita, sendmail invierà l'e-mail con l'utente del server Web come RFC5321 Web intestazione .MailFrom / Return Path.

Ad esempio, supponi di ospitare il tuo sito Web domain.comsul host.comserver Web. Se non si imposta il parametro parametri aggiuntivi:

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

Il destinatario dell'e-mail riceverà un'e-mail con le seguenti intestazioni:

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

Anche se questo supera i controlli SPF, non sarà allineato (poiché domain.com e host.com non corrispondono), il che significa che il controllo SPF DMARC fallirà come non allineato.

Al contrario, è necessario passare l'indirizzo del mittente della busta di sendmail includendo il 5 ° parametro nel PHP mail()funzione, ad esempio:

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

In questo caso, il destinatario dell'e-mail riceverà un'e-mail con le seguenti intestazioni:

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

Poiché entrambe queste intestazioni contengono indirizzi da domain.com, SPF passerà e sarà anche allineato, il che significa che DMARC passerà anche il controllo SPF.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.