Come inviare e-mail con PHP senza l'atterraggio di posta automaticamente nella casella di spazzatura

StackOverflow https://stackoverflow.com/questions/4529528

Domanda

Funzione

posta Im usando PHP () per inviare alcune e-mail. Ma tutte le mie mail atterrare automaticly nella casella di spazzatura. Esiste un modo di prevenire questo? Se sì, dove dovrei leggere per saperne di più su di esso.

Consiglieresti me usando PHPMailer?

Il meglio di saluti, Alexander

È stato utile?

Soluzione

I supporti dire scatola thrash alla fine del ricevente. Quindi, in pratica il server e-mail che riceve è per quanto riguarda come spam. Ciò può accadere se:

1) L'IP si sta inviando da è già nella lista nera per lo spamming (spesso accade in hosting condiviso)

2) L'IP e il dominio sono relativamente nuovo e sconosciuto.

(nota che molte volte, newsletter da siti ben consolidata anche finire in spam).

Se le sue RDN vostro IP dedicato, quindi l'impostazione per l'IP, per abbinare il nome di dominio molto probabilmente risolvere il problema. Un'altra pratica comune è quella di avvisare il ricevitore (se lei sta sottoscrivendo sul tuo sito web) per verificare la loro cartella di thrash / spam e whitelist il tuo indirizzo e-mail nel proprio account di posta elettronica.

saluti,

JP

Altri suggerimenti

Non per vantarmi, ma io sono un ingegnere server di posta. I filtri antispam cercano una serie di "problemi" con e-mail e aggiungere "punti" per ogni piccolo problema. Se un numero sufficiente di questi problemi si sommano, l'e-mail potrebbe essere (qualsiasi): rifiutato durante SMTP, indirizzato a cartella Spam, instradato in Posta in arrivo, ma etichettati " SPAM " eliminata non (misteriosamente perso).

Per evitare questo problema, si vuole risolvere problemi diversi, e questo ridurrà il tuo punteggio di spam o di conflitto politica di spam. Vuoi andare dal tuo modo e imparare un po 'di "buone pratiche" e-mail in realtà, se si desidera ottenere i migliori risultati.

1 problema è: non inviare e-mail a un destinatario, da uno script PHP su un server web. Non direttamente al destinatario, in ogni modo.

Il software anti-spam imparato da tempo a diffidare di posta elettronica web-based, a causa di tutti gli impianti insicuri di formmail.pl, ecc

Il modo corretto per inviare e-mail da un server web è quello di inviare l'e-mail attraverso una casella di posta valida su un server di posta valido. Quindi, se il vostro sito ha e-mail hosting, creare una cassetta postale denominata ad esempio 'website-notification@websitedomain.com'. Chiamatela quello che ti piace. Ora volete che il vostro script PHP per inviare l'e-mail -through- quell'indirizzo, usando SMTP autenticato. Lascio il processo di imparare come utilizzare SMTP autenticato da PHP come un esercizio di apprendimento per voi (ci sono molti tutorial on-line).

Una volta che si invia una mail attraverso il server SMTP valido, forse la tua e-mail viene consegnato meglio .. ma non si fermano qui. Si potrebbe ancora avere lo stesso problema in un altro dominio consegna di posta elettronica ...

2) Come qualcun altro ha notato, essere sicuri di non manca A: Da: Oggetto: e Data :. La data deve essere nel formato data standard per la posta elettronica o di alcuni filtri spam Flagg esso. Se vi manca qualsiasi intestazione avrete etichettato per i punti di spam.

3) il vostro dalle indirizzo deve essere una cassetta postale valida. Non inviare e-mail utilizzando "Da: noreply@yourdomain.com". Il dall'indirizzo deve esistere perché alcuni software anti-spam farà un "mittente Verifica" per verificare se l'indirizzo del mittente è fasullo o falso.

Sul vostro server di posta, creare noreply @. Nessuno dice che in realtà controlla che la cassetta postale ... si potrebbe avere una regola che autodeletes tutta la posta all'indirizzo non monitorato. Il punto chiave è, se gli altri server di posta ottengono un '550 No Such utente' quando si collegano al vostro MX e test che la cassetta postale, quindi la tua email potrebbe essere contrassegnato come spam.

4) Se il DNS dominio ha un record SPF, essere al 100% sicuro che elenca ogni IP che possono inviare e-mail per il tuo dominio. In caso di dubbio, non utilizzare record SPF perché un record SPF cattivo farà male tassi di consegna.

5) Non utilizzare "Dominio sulla registrazione" o servizi di "dominio proxy" che nascondono le informazioni di contatto dal WHOIS. Qualsiasi mittente legittimo e-mail non ha bisogno di nascondere le informazioni di contatto del dominio. I filtri antispam verificherà questo.

6) conoscere l'indirizzo IP del vostro server di posta, e controllare regolarmente che non sia "lista nera" a SpamCop, SpamHaus, o le liste nere di spam Barracuda. Google per di più.

Spero che la mia risposta ti aiuta, e trasmette non esiste una risposta univoca a tutto. In questi giorni, se si desidera inviare e-mail, si devono essere consapevoli di questi problemi.

La risposta di JP è in parte corretto, ma potrebbe anche essere il vostro colpo di testa di nella e-mail lo so per esperienza questo invia roba per lo spam cartella di provare quanto segue;

impostare i messaggi di posta elettronica per il tuo dominio qualcosa come nessun-risposta o una risposta valida.

$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

Questo probabilmente ha qualcosa a che fare con il vostro client di posta elettronica e la configurazione di spam impostazioni. Prova ad aprire account su gmail.com e l'invio di e-mail lì, se va bene si sa che è il tuo problema server di posta / cliente. Se non è, pubblicare il tuo codice PHP e le intestazioni dei messaggi completi del email che hai.

Questo accade perché molte volte al, intestazioni mancano / se un noto server di posta elettronica firma chiave di dominio non è presente, o qualcosa del genere. Se si dispone già di un server di posta elettronica separato, si dovrebbe verificare se è possibile utilizzare il pacchetto PHP Pear Mail per inviare e-mail utilizzando il server di posta, piuttosto che direttamente tramite la funzione di posta elettronica. Questo è quello che trovo conveniente, in quanto la sua molto più flessibile.

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