Domanda

Ho uno script PHP che invia e-mail critiche che devono raggiungere la sua destinazione. So come verificare se l'e-mail è stata inviata correttamente, l'unico problema è sapere se è effettivamente arrivato al suo destinatario.

Qualche suggerimento? Se non c'è modo di saperlo, come gestiresti questa situazione?

È stato utile?

Soluzione

Se si rende l'e-mail basata su HTML, è possibile includere immagini che contengono URL con informazioni univoche per il destinatario. Potresti strutturare la tua applicazione in modo che questi URL attivino del codice per contrassegnare quella determinata e-mail come letta prima di restituire i dati immagine richiesti.

Per essere totalmente efficaci, le immagini dovrebbero costituire una parte fondamentale dell'e-mail, in modo che il destinatario abbia per fare in modo che il proprio client e-mail acquisisca le immagini. Potresti anche rendere parte del testo semplice dell'email semplicemente un URL per recuperare il messaggio completo, consentendoti di nuovo di monitorare la ricevuta.

In che misura spingi queste idee dipende dal perché devi sapere che è stato letto e in che misura desideri potenzialmente infastidire il destinatario con un'email che non può tagliare, leggere facilmente su dispositivo mobile, ascoltare con uno screen reader, ecc ...

Altri suggerimenti

La notifica dello stato di consegna è normalmente: http://www.sendmail.org /~ca/email/dsn.html

Non puoi dire se un'e-mail viene letta a meno che tu non usi quella cosa e-mail di Microsoft e il lettore non abbia disabilitato le conferme di lettura.

Modifica: non sono ancora passato all'e-mail HTML, quindi non l'ho mai considerato per una notifica di lettura.

Non c'è modo di saperlo con certezza. Anche se il server remoto accetta il messaggio, ciò non garantisce che non verrà filtrato da un filtro antispam o altro.

Tutti i link di tracciamento e i webbug presuppongono che le persone aprano effettivamente l'e-mail e abilitino le immagini remote o facciano clic sui link. Che è tutto imperfetto.

Per essere sicuro che se un'e-mail viene ricevuta e non restituita, farei quanto segue:

  1. Aggiungi l'intestazione Errori-A (impostata ad es. bounce@domain.com)
  2. Aggiungi l'intestazione Return-Path (impostata ad es. bounce@domain.com)
  3. Prendi la casella di posta elettronica (bounce@domain.com) e analizza le email

Ciò ti consente di verificare quando un'e-mail è tornata, in base al contenuto del messaggio che puoi probabilmente capire quale è rimbalzato / è tornato.

Sfortunatamente, non esiste un metodo al 100% per determinare se un messaggio è stato recapitato nella posta in arrivo dell'utente. Anche se il server accetta il messaggio, potrebbe essere bloccato dai filtri antispam o rispedito in modo asincrono.

Molte persone hanno menzionato le tecniche dello stile di tracciamento dei bug web. Funzionano bene per gli esperti di marketing: possono fare ipotesi in base alla dimensione del campione. Richiedono e-mail HTML e che l'utente carica le immagini in HTML. Ciò accade automaticamente in alcuni casi, ma molte volte le persone devono fare specificamente clic sul pulsante "scarica immagini".

Un altro metodo consiste nell'utilizzare Goodmail . Parte del loro servizio consiste nel tracciare quali messaggi vengono effettivamente consegnati e aperti. Ovviamente, costa denaro e non tutti i fornitori di posta sono supportati. Ancora una volta, è principalmente uno strumento di marketing.

Potresti anche avere degli script di tracciamento nascosti nei link. Ad esempio, crei un URL simile a:

http://trackingserver/track/$messageid/http://real.url/goes/here

Lo script track registra quindi un 'clic' nel database e reindirizza il client su http: //real.url/goes/here . Devi quindi avere un motivo convincente per fare clic su quell'URL ogni volta.

Perché vuoi sapere che qualcuno ha letto la posta?

Dal punto di vista legale, nessun modo in cui potresti trovare rimarrà in tribunale (diciamo che vuoi assicurarti che qualcuno abbia letto un documento importante) perché non puoi provare che il lettore sia stato il destinatario.

Per quanto riguarda la sicurezza, la tua posta sarà contrassegnata da qualsiasi filtro antispam decente come spam ed eliminata prima che chiunque possa vederla perché l'aggiunta di strani collegamenti o bug web o immagini in una posta è proprio quello che fanno gli spammer. E se vuoi vendere qualcosa, questo è un modo infallibile per assicurarti di non farlo.

AGGIORNAMENTO: Se devi assicurarti che le persone abbiano letto qualcosa, ti suggerisco di inviare la posta con un link o un puntatore al documento che dovrebbero leggere. Non aggiungere bug web o ID personalizzati al link. Nel documento, dì loro di firmare il documento e di restituire una copia firmata come prova di averlo letto.

Immagino tutto quanto sopra: immagini in HTML, link tracciati se fanno clic su qualcosa. Ci sono servizi di terze parti come ReturnPath / Goodmail che possono aiutarti.

Il miglior consiglio è quello di assicurarti che la tua lista di invio sia pulita, che l'indirizzo IP abbia una buona reputazione, annulli i record dns / spf, buona annullamento dell'iscrizione e gestione dei rimbalzi sulle campagne, controllo dello spam sui contenuti e inviti dei destinatari ad aggiungerti alla loro rubrica.

Questo ti darà maggiori possibilità di consegna ...

Sundeep .//

Prova questo:

Scrivi l'e-mail con HTML (non è poi così difficile con PHP). In quell'email, includi un'immagine (forse solo un bel logo o qualcosa del genere). Questa immagine sarà un'immagine speciale ... sarà src, diciamo, myserver.com/images/logo.gif?recipient@email.com . Questo src dovrà essere generato dinamicamente per ogni persona a cui viene inviata l'e-mail. Quindi, se il destinatario apre l'e-mail, il client e-mail chiederà al tuo server logo.gif?recipient@email.com

Quindi, se il tuo server riceve una richiesta per quell'immagine, saprai che recipient@email.com ha ricevuto il tuo messaggio.

Puoi creare un formato speciale per il tag alla fine dell'URL, in modo che non solo dica quale persona è, ma a quale email sta rispondendo.

Ricorda, questo è ciò che gli spammer fanno per sapere se un indirizzo email è attivo. Quindi, alcuni software potrebbero chiedere all'utente se pensano che tu sia spam! Inoltre, alcuni utenti non avranno il supporto delle immagini (o avranno questo supporto disattivato).

Buona fortuna!

Se è interno, invia l'e-mail, ma non inserire il contenuto del messaggio nell'e-mail. Fornisci un link a un sito web e un identificatore nell'URL in modo da poter collegare la visualizzazione della pagina all'email.

Puoi ancora farlo se è esterno, purché le persone dall'altra parte siano cooperative.

Puoi anche impostare un account vanilla sul sistema di posta di destinazione e verificarlo. Se ricevi l'e-mail su quell'account, è probabile che il sistema non sia impostato per filtrarlo.

Puoi anche chiedere agli amministratori del sistema di ricezione di darti un rimbalzo su e-mail ben ricevute (sai, script che arriccia la tua pagina web di riconoscimento), ma ciò richiederebbe molta collaborazione. Sebbene a quel punto, potrebbe essere più semplice recapitare il messaggio tramite un servizio Web.

Se ricordo bene finché invii correttamente, puoi essere certo che è stato almeno accettato dal server di posta ricevente.

Un bug web potrebbe darti qualcosa come una ricevuta di lettura, se è quello che chiedendo.

Il protocollo SMTP è asincrono, quindi l'unico feedback garantito può essere restituito dal client di posta degli utenti. Nel caso in cui si verifichino problemi con la consegna, si riceveranno nuovamente le e-mail di rimbalzo all'indirizzo definito nel mittente della busta (intestazione di posta Percorso di ritorno) I tempi di questi rimbalzi sono imprevedibili e indefiniti. Il monitoraggio dei pixel nel corpo dell'email HTML è finora il modo migliore per segnalarti che l'utente ha effettivamente aperto l'e-mail.

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