Domanda

Quando si sviluppa un'applicazione che invia messaggi di posta elettronica di notifica, quali sono le migliori pratiche per

  1. non essere segnalato come spammer dalla tua società di hosting. (Copri uno dei :)
    • la migliore tecnica per non inondare un server di posta
    • migliori prodotti per server di posta, se dovessi configurare il tuo
    • invio di messaggi come da un utente specifico ma comunque chiaramente dalla tua applicazione (per garantire reclami, ecc. tornare a te) senza rompere la buona etichetta e-mail
    • qualsiasi altra lezione appresa
  2. non viene segnalato come spam dal client del destinatario? (Copri uno dei :)
    • configurando e usando id-mittente, chiavi di dominio, SPF, reverse-dns, ecc per assicurarsi che le tue e-mail siano correttamente identificate
    • migliori tecniche di intestazione SMTP per evitare di essere contrassegnate come spam quando si inviano e-mail per gli utenti (ad esempio, usando insieme le intestazioni Mittente e Da)
    • qualsiasi altra lezione appresa

Un requisito aggiuntivo: questa applicazione invierebbe un singolo messaggio a un singolo destinatario in base a un evento. Pertanto, non verranno applicate le tecniche per inviare gli stessi messaggi a più destinatari.

È stato utile?

Soluzione

  

migliore tecnica per non inondare un server di posta

non molto puoi fare a riguardo oltre a controllare con l'amministratore del tuo server di posta (se si tratta di un account di hosting condiviso / non sotto il tuo controllo). ma se il requisito è una e-mail a un singolo destinatario per evento, questo non dovrebbe essere un grosso problema. le cose che tendono a ostruire i sistemi di posta sono e-mail con centinaia (o più) di destinatari.

se hai eventi che si attivano continuamente, forse considera di consolidarli e di ricevere un'email che li riassume periodicamente.

  

invio di messaggi come se provenisse da un utente specifico ma ancora chiaramente dalla tua applicazione (per garantire reclami, ecc. tornare a te) senza rompere la buona etichetta e-mail

puoi farlo utilizzando " Rispondi a " intestazione, che farà in modo che i client utilizzino quell'indirizzo anziché l'indirizzo Da quando viene composto un messaggio e-mail.

devi anche impostare " Return-Path " intestazione di qualsiasi e-mail, in quanto l'e-mail senza questo spesso viene filtrata.

es.

From: me@me.com
Return-Path: me@me.com
Reply-To: auto@myapp.com
  

configurazione e utilizzo di ID mittente, chiavi di dominio, SPF, reverse-dns, ecc. per assicurarsi che le e-mail siano identificate correttamente

tutto dipende in larga misura dalla proprietà dei server di posta e DNS. spf / sender-id ecc ... sono tutti problemi del DNS, quindi dovresti avere accesso al DNS.

nel tuo esempio questo potrebbe presentare abbastanza il problema. poiché stai impostando la posta in modo che provenga da un utente specifico, quell'utente dovrebbe avere SPF (ad esempio) impostato nel proprio DNS per consentire al tuo server di posta come mittente valido. puoi immaginare quanto questo sarebbe disordinato (se non addirittura impossibile) con un numero di utenti con vari nomi di dominio.

per quanto riguarda DNS inverso e simili, dipende davvero. la maggior parte degli ISP client, ecc ... controllerà solo che sia impostato DNS inverso. (ovvero, 1.2.3.4 si risolve in host.here.domain.com, anche se host.here.domain.com non si risolve in 1.2.3.4). questo è dovuto alla quantità di hosting condiviso là fuori (in cui i server di posta spesso segnalano se stessi come nome di dominio del client e non il vero server di posta).

ci sono alcune reti rigorose che richiedono l'abbinamento DNS inverso, ma ciò richiede che tu abbia il controllo sul server di posta se non corrisponde in primo luogo.

se puoi essere un po 'più specifico potrei essere in grado di fornire un po' più di consigli, ma in generale, per le persone che hanno bisogno di inviare la posta dell'applicazione e non hanno un mucchio di controllo sul loro ambiente, vorrei suggerire quanto segue:

  • assicurati di impostare un " Return-Path "
  • è bello aggiungere la tua app e le informazioni sugli abusi anche nelle intestazioni, ad es .: " X-Mailer " e " X-Abuse-To " (si tratta di intestazioni personalizzate, solo a scopo informativo)
  • assicurati che DNS DNS sia impostato per l'indirizzo IP del tuo server di posta in uscita

Altri suggerimenti

innanzitutto una rapida correzione alla precedente

return-path: è un'intestazione aggiunta dal sistema di ricezione basato sul mittente della busta del messaggio in entrata

affinché spf funzioni il percorso di ritorno / mittente busta deve essere yourapp@tuodominio.com

e assicurati che il record spf per tuodominio.com {o se per utente spf} per yourapp@tuodominio.com consenta che le e-mail provengano dal server che ospita l'app / invia l'e-mail

questo mittente della busta è l'indirizzo che riceverà tutti i rimbalzi / errori

ora mittente-id è completamente diverso e controlla il percorso di ritorno / mittente busta e il da: indirizzo {memorizzato nel messaggio} se l'invio da: suo nome yourapp@tuodominio.com risposta a: suo nome hisaddres@hisdomain.com

questo non sarà un problema se l'invio da: suo nome hisaddres@hisdomain.com

lo sarà e devi aggiungere a Resent-From: il suo nome yourapp@tuodominio.com poiché questo specifica di ignorare il da: per i controlli ID mittente, usa questo come è stato inviato da te per suo conto

ora per gli altri bit che valgono la pena

gli IP citati sono i tuoi server di posta

a fa in modo che il tuo IP punti a un nome che si risolva anche nello stesso IP FQDN

b chiedi al tuo server helo / ehlo di whatever.domain.com in cui domain.com è uguale al dominio del nome nel passaggio A {non lo stesso nome per i reson di seguito}

c ha che helo / ehlo servername si risolva anche nell'ip del tuo server

d aggiungi il seguente record spf a quel nome helo / ehlo " v = spf1 a -all " {significa che consenti helo / ehlo con questo nome da ip che questo nome indica solo}

e aggiungi le seguenti righe mittente-id al nome helo / ehlo {solo per completezza "spf2.0 / mfrom, pra-all" {cioè non ci sono utenti @ this-domain}

f aggiungi il seguente spf al nome FQDNS e qualsiasi altro nome host per il tuo server " v = spf1 -all " {cioè nessuna macchina potrà mai helo / ehlo come questo nome e nessun utente @ this-domain}

{dato che il nome fqdns può essere determinato da bot / infezioni è meglio non permettere mai che questo nome venga usato direttamente nei saluti helo / ehlo, è sufficiente che provenga dallo stesso dominio dell'identità helo / ehlo per dimostrare validità di entrambi}

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top