- Home
- Categorie
- Coding e Sistemistica
- PHP
- PHP invio mail - E' perfetto ma non invia
-
Ciao allora io ho un problema identico on funziona la funzione mail() di php. o meglio zio Bill non la vuole!
Kian la mail su che account la invii? su hotmail o live? se si prova a farne uno gmail e ritenta l'invio della mail!
se in questo modo la mail ti arriva hai il mio stesso problema.
Cercando nel web ho trovato che la miscrosft ha il sender-ID cioè vuole che la mail sia verificata altrimenti è spam e la blocca ancora prima d fartela vedere!! (assurdo)
Se qualcuno sa qualcosa in merito non esiti a scrivere sto andando in paranoiaaa:o
-
Dovete inserire un mittente valido, altrimenti vengono automaticametne cestinate da hotmail...
-
si appunto ma come si fa???
-
Allora supponendo che mandi l'email da sito.it metti un email @sito.it e stai sicuro che funziona...
-
niente da fare avevo gia provato e ho appena riprovato...su account gmail la ricevo all'istante su account hotmail no.
Posto il codice per vedere se c'è qualcosa di sbagliato:[PHP]
ini_set("SMTP","smtp.netsons.org"); //imposta smtp di netsons$nome=$_POST['nome'];
$emailmittente=$_POST['email'];
$oggetto=$_POST['cmbOggetto'];
$messaggio=$_POST['messaggio'];$destinatario="[email protected]";
$headers = "From: Images Upload<noreply>\r\n"; //Il tuo nome
$headers .= "X-Sender: <noreply>\r\n"; //Il mittente
$headers .= "X-Mailer: PHP\r\n"; //mailer
$headers .= "X-Priority: 3\r\n"; //1 UrgentMessage, 3 Normal
$headers .= "Return-Path: [email protected]\r\n"; // Return-path
$headers .= "Content-Type: text/html;\r\n";
$headers .= "X-AntiAbuse: Servername - {".$_SERVER['SERVER_NAME']."}\r\n";
$headers .= "Email utente: ".$emailmittente."\r\n"; //info aggiuntive$ris=mail($destinatario, $oggetto, $messaggio, $headers);
[/PHP]nemmeno come spam arriva! viene proprio bloccata su hotmail
-
Images Upload<noreply>
ti sembra un mittente valido?
-
ho provato con:
[PHP]
$headers = "From: Images Upload[email protected]\r\n"; //Il tuo nome
$headers .= "X-Sender: [email protected]\r\n"; //Il mittente
[/PHP]non va lo stesso...:(
-
sui server aruba funzionani...dai netsons no... evidentemente netsons non ha qulacosa che verifichi i propri domini mentre aruba si e hotmail lo blocca
-
Allora io in una pagina php invio 2 email insieme.
-Admin mail: destinata a me [email protected] ed è di aruba
-Welcome email: destinata al cliente $emailPrima questo php non prevedeva l'invio di una mail al cliente e funzionava. Da quando ho aggiunto l'invio della mail al cliente non funziona più. Il fatto strano è che ha funzionato per 2 giorni - inviava le 2 email - e poi blackout morto!
Ho un'altra pagina dove invio tramite un mailer-system email ai clienti. Le variabili sono corrette e lo script funziona ma l'email non arriva nemmeno se invio alla mail aruba del sito.
Sono confuso
-
SI guarda è un casino assurdo non ci sto capendo più niente... su un server aruba ho risolto inserendo la funzione iniset() di php stesso identico codice su un server di netsons non funziona (NOTARE : non funziona solo verso hotmail)
-
Sono felicissimo di comunicare che ho risolto il problema
Mi sono riscritto tutta la pagina php da zero e adesso funziona. Ho cercato di controllare i due file e sembrano identici solo che uno funziona e l'altro no. Credo che forse si trattasse di qualche if() non chiuso bene {}. Adesso la pagina mi invia tranquillamente l'email all'Admin, l'email di benvenuto al cliente, mi salva tutti i dati nel database, effettua il pagamento con paypal prendendo nome articolo, descrizione, costo (...) dal db.
Soddisfattissimo!
PERO sono deluso dal fatto che la "Welcome email" al cliente arriva solo se questo ha gmail. Alle caselle libero non arriva alcun messaggio nemmeno nella posta indesiderata / spam. Ne sapete qualcosa?
-
Certo Kian è il problema che ho io! di cui ho accennato qualcosa nei post precedenti. Cercando nel web ho trovato che anche libero come hotmail se riceve una mail non verificata la elimina prima ancora di fartela vedere!
Da host Aruba (che evidentemente sono certificati) la mail arriva tranquillamente su qualsiasi account, mentre da Netsons non arriva verso hotmail e libero.
Ho letto che bisogna verificare il server da cui proviene la mail col protoccolo SPF e pe rquanto riguarda la Microsoft con il Sender-ID.
Ho fatto alcune prove ma non ci capisco niente :bho: .
Se riesci a trovare qualcuno in grado di risolvere questo problema sarebbe supendo. ciaooo
-
Io ho Aruba e non arriva lo stesso
-
strano...perchè a me stesso codice da aruba va ma da netsons no..ti posto dei parametri che ho messo negli headers:
[PHP]
ini_set("SMTP","localhost"); //imposta smtp di aruba$messaggio = $_POST['messaggio'];
$oggetto=$_POST['oggetto'];$header="From: nomechevuoi [email protected]\r\n";
$header.= "X-Sender: [email protected]\r\n"; //Il mittente
$header.= "X-Mailer: PHP/".phpversion();
$header.= "Return-Path: [email protected]\r\n"; // Return-path
[/PHP]prova con questi se non li hai gia messi! al posto di noreply@ruba puoi mettere quello che vuoi
-
Ragazzi credo essere arrivato al punto di mettermi l'anima in pace. Il problema non è lo script, non è la funzione mail(), non è l'ini del server ma, come diceva xfattor89, è un problema di Libero (da me testato) e Hotmail.
L'ho scoperto registrandomi ad un forum con phpbb. L'email di attivazione l'ho richiesta una decina di volte e non arrivava mai nemmeno nella cartella spam. Ho dovuto cambiare con una mail gmail per risolvere il problema.
Ma vi pare una cosa possibile!? Come può essere che Libero sia irraggiungibile a tutte le mail generate da php? Internet è quasi tutto php :S Comunque questa cosa si verifica da poco tempo. Prima era tutto regolare... ma che succede!?
-
Ve l'avevo detto..semplicemente che hotmail e libero utilizzano da poco un anti-spam e per sorpassare questo blocco il provider da cui proviene la mail deve essere verificato con il sender-ID o il protocollo SPF. Putrtoppo noi non dobbiamo fare niente, ma è il nostro hosting che deve farsi avanti e risolvere il problema.
Ho contattato Netsons personalmente e dopo alcuni chiarimenti mi hanno detto che stanno provvedendo a questo problema.
Per chi ha lo stesso problema l'unico modo è contattare l'assistenza del proprio servizio di hosting e dire loro l'esatto problema!! io attendo! vediamo un po cosa riescono a fare..
-
Stavo per aggiungere la fatturazione dei clienti php+sql quando mi sono reso conto che l'email adesso funziona! Come è bello vedere che tutto quadra
LIBERO.IT Funziona
-
Beato teee. a me da Netsons a Hotmail non funziona ancora:bho: ho appena provato
-
@xfattor89 said:
Beato teee. a me da Netsons a Hotmail non funziona ancora:bho: ho appena provato
anche io ho netsons e funziona.
posto il codice:[php]
$punt_db=mysql_connect($host,$user,$psw) or $conn="Errore nella connessione al database&";
mysql_select_db($db,$punt_db) or die("Impossibile raggiungere il database".$db);
$rs= mysql_query("SELECT * FROMelenco
");
$nr = mysql_num_rows($rs);
if ($nr != 0){
for($x = 0; $x < $nr; $x++){
$row = mysql_fetch_assoc($rs);$emailTo = $row['email']; $messaggio = stripslashes($_POST[messaggio]); $subject = $_POST[oggetto]; $headers = "From: Sacca Tennis Team <[email protected]>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "Return-Path: Sacca Tennis Team <[email protected]>" ." \r\n"; $headers .= "Reply-To: Sacca Tennis Team <[email protected]>" . "\r\n"; mail($emailTo, $subject, $messaggio, $headers);
[/php]
a me funziona anche se lo mette in indesiderata e sto cercando di capire come fare per far in modo che non lo consideri tale, ma almeno funziona
-
Ragazzi io ho un problema simile con il server windows di ARUBA... in pratica ho utlizzato una mailinglist, testata prima su altervista.org e fungeva bene. Adesso l'ho spostata sul sito a cui sto giochicchiando ovvero il sudetto server ARUBA (Hosting Windows). La cosa eclatante è su libero.it arriva la mail di conferma come anche su Hotmail.com su TISCALI niente da fare... qualcuno ha avuto questo problema?
Vi posto mezzo codice solo per la conferma dell'email.[PHP]
$rseed=date("U")%1000000;
srand($rseed);
$thekey=md5(rand(10000,10000000));
$email=$_POST['email'];
$newaddress="INSERT into m_list (address,mailkey,listid) values('$email','$thekey','$lists')";
$newaddress2=mysql_query($newaddress) or die("Could not query");
ini_set("SMTP","62.149.131.123");
mail("$email",$confirmthing,"Per completare l'iscrizione, per favore cliccare sul seguente link: $yourfilepath/confirm.php?email=$email&thekey=$thekey","From: $yourmail");
print "Un email con il link di conferma è stata spedita al tuo indirizzo Email!";
[/PHP]Ho settato anche l'ini_set sia con l'smtp di del sito stesso che con l'ip del sito, ma non capisco la motivazione per la quale non funziona... un aiutino???
Grazie mille