Domanda

Ho impostato un modulo di contatto AJAX sul sito Web di un cliente.

Il problema è che l'e-mail non arriva alla posta in arrivo del client.

Ho configurato il client con Google Apps (come ho fatto per me stesso).

Ho usato lo stesso modulo di contatto con il mio indirizzo e-mail e funziona. Ma con qualsiasi indirizzo e-mail sul proprio dominio non lo è!

Tutti i membri del dominio stanno ricevendo email "normali".

Quale potrebbe essere la differenza che impedisce alle e-mail () di passare?


Aggiorna

Ok, quindi sono riuscito a risolverlo. Si scopre che l'utilizzo di un CNAME per indirizzare il dominio sul server corretto non era sufficiente per sendmail , quindi ho dovuto cambiarlo in un record A che punta direttamente al server. Strano ma vero. Grazie per l'aiuto gente, mi hai indicato la giusta direzione :)

È stato utile?

Soluzione

Dipende da entrambe le impostazioni sul server e sul server sul lato ricevente.

hotmail, ad esempio, richiede l'uso di record SPF configurati correttamente .

molti server di ricezione della posta (incluso hotmail) richiedono che l'e-mail provenga da un Nome di dominio completo . È molto probabile che le tue e-mail inviate da PHP non siano conformi a questa regola. (c'è una buona probabilità che provengano da 'apache')
vedi auto-aiuto di hotmail e informazioni sul postmaster di hotmail

la funzione mail () di PHP non include molti intestazioni con la tua posta, quindi dovrai fornirle tu stesso.

Più salta la tua posta verso la destinazione, più è probabile che venga taggata come spam. Quindi potrebbe essere un'opzione migliore per non utilizzare la funzione di posta di PHP e utilizzare invece una libreria di posta che si connette a un server SMTP proprio come fa l'applicazione di posta desktop.

Tutto sommato, vorrei piazzare le mie scommesse su una libreria esterna: Pear :: Mail ( documentazione )

Potresti anche leggere: come assicurarsi che le e-mail inviate a livello di codice non vengano automaticamente contrassegnate come spam

Aggiorna
Se non si verifica il controllo SenderId o SPF, il messaggio può essere eliminato prima ancora che arrivi alla posta in arrivo degli utenti. Il messaggio non finirà nella cartella junk degli utenti, andrà direttamente a / dev / null. So che questo è vero almeno per hotmail e live mail. Non vedo alcun motivo per cui altri host non abbiano implementato la stessa politica.

Altri suggerimenti

Consiglio invece di usare la libreria PHPMailer (incluso il loro SMTP). È affidabile rispetto alla posta e consente di creare e-mail completamente personalizzate.

http://phpmailer.worxware.com/

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