2010-03-20 26 views
7

Sto utilizzando PHPMailer per inviare un'email di conferma per gli utenti appena registrati nel mio social network. Ma ho scoperto che molti di loro sono finiti nell'elenco di spam degli utenti. (Hotmail e Yahoo). Come evitare questo?Email di conferma dell'account inviata come SPAM

Questo è il mio script

$mail=new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPAuth = mSMTPAuth(); 
$mail->SMTPSecure = mSMTPSecure(); 
$mail->Host = mHost(); 
$mail->Port = mPort(); 
$mail->Username = mUsername(); 
$mail->Password = mPassword(); 
$mail->From = mFrom(); 
$mail->FromName = "SiteName"; 
$mail->Subject = "SiteName New Account Activation"; 
$mail->IsHTML(true); 
$mail->WordWrap = 50;  

$mail->Body = "<h2>Welcome to " .$sitename. " " .$username. "! </h2><br><br>"; 
$mail->Body .= "Please click on the link below to verify your email address:<br><br>"; 
$mail->Body .= "<a href='".$base. "verify.php?a=" .$gen_key."'>".$base. "verify.php?a=" .$gen_key."</a>"; 
$mail->Body .= "<br><br>Regards<br>"; 

$mail->AltBody = "Welcome to " .$sitename. " " .$username. "!\n\nTo verify your email address, please click on the link below:\n\n".$base. "verify.php?a=" .$gen_key; 

$mail->AddAddress($email); 
$mail->Send(); 
$mail->ClearAddresses(); 

risposta

3

Non c'è molto che si può fare al riguardo. La maggior parte di questi provider di posta dispone di elenchi di indirizzi IP, nomi di host e altri dati comuni che vengono spesso segnalati come spam e se le vostre e-mail corrispondono ai criteri che vengono automaticamente filtrati. Tutto quello che puoi fare è dire ai tuoi visitatori di aggiungere il tuo indirizzo e-mail alla loro lista di autorizzazioni prima di registrarti, in modo che l'e-mail passi alla loro posta in arrivo.

Onestamente, non preoccuparti. Se vedono che le tue e-mail vengono regolarmente contrassegnate come "non spam", alla fine aggiungeranno un'eccezione. Basta dire agli utenti di controllare la loro cartella spam se non vedono l'e-mail come fa ogni altro sito. Di solito, se lo contrassegnano come "non spam" in quella cartella, aggiungerà automaticamente un'eccezione per quell'indirizzo, così tutte le altre email che invierai finiranno nella loro casella di posta.

3

Avete una voce DNS inversa per il server che invia le e-mail di conferma?

In caso contrario, questo potrebbe essere un rDNS issue. Alcuni siti hanno maggiori probabilità di contrassegnare un messaggio come SPAM se l'indirizzo IP e il nome dell'host di invio non corrispondono in base a rDNS.

In caso contrario, è possibile provare a inviare e-mail di conferma ai propri account sui principali siti di posta elettronica come yahoo, hotmail e g-mail e quindi modificare il testo fino a quando non viene superato i filtri antispam.

+0

Grazie mille per aver risposto. Ho anche impostato i record SPF per il mio dominio. Sto usando la posta elettronica ospitata da google per inviare mail. Scusa, non potrei dirlo. Non ho idea di DNS inverso. – praveen

+0

Se stai utilizzando Google per inviare le e-mail, non devi preoccuparti dei problemi di RDNS. Il tuo record SPF contiene include: aspmx.googlemail.com? In caso contrario, potrebbe essere il problema: consulta http://www.google.com/support/a/bin/answer.py?hl=it&answer=33786. – dmcer

0

Hm, c'è QUALCOSA che puoi fare: * Scrap l'HTML. Sembra spam, specialmente con il testo basso * Scrivi un altro testo, per favore.

Le brevi e-mail HTML possono comparire piuttosto nella lista di spam.

+0

Cosa succede se uso "relay SMTP"? Esistono fornitori di servizi di inoltro SMTP ragionevoli/economici? Grazie – praveen

+0

Non aiuta davvero l'analisi del contenuto. Una breve email in formato HTML sembra sospetta. Ne ho una tonnellata, e soprattutto hanno una grande immagine cercando di vendermi software o viagra;) – TomTom

+0

invia il contenuto tramite un verificatore come [email protected] per vedere se supera il controllo dello spam-assassino (così come DKIM, SPF e Sender-ID) –

0

Ho scoperto che qualsiasi variazione della parola "conferma" nel titolo finisce nel mio bucket di spam. Ho trovato altre parole che fanno anche questo: "acquisto", "fretta", "ordine", "affare" e "imminente".

Questo potrebbe non essere vero in tutte le e-mail, ma succede nel mio. Può essere perché quelle parole appaiono nella maggior parte delle e-mail che segnano come span. Può anche darsi che un sysop locale abbia fatto un filtro e lo abbia distribuito a tutti noi.

0

Si può provare a utilizzare sendGrid apis che aiuterà, fanno pagare ma penso che sia degno. Supportano le lingue più diffuse: Nodejs, PHP, Java, ....

Problemi correlati