Torna indietro   Serverplan Forum > Risorse per Webmaster > PHP

Rispondi
 
LinkBack Strumenti discussione Cerca in questa discussione Modalità visualizzazione
  #1 (permalink)  
Vecchio 13-04-2008, 10.04.13
Junior Member
 
Data registrazione: 13-04-2008
Messaggi: 3
SyncViewS is on a distinguished road
Predefinito problema con header email

Ciao a tutti,
sto costruendo un semplice form HTML per farmi inviare email di feedback direttamente dal mio sito web servendomi della funzione mail di PHP.

Il problema che ho riscontrato è dato dal mancato riconoscimento delle informazioni aggiuntive dell'header. Segue il codice PHP che in questo caso presenta informazioni statiche:

<?php
$to = 'myAddress@myDomain.com';
$subject = 'the subject';
$message = 'hello';

$headers = 'From: theWebmaster' . "\r\n";
$headers .= 'Reply-To: webmaster@example.com';

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

La mail mi viene inviata senza problemi con subject e contenuto corretti, ma le informazioni dell'header sono errate, in particolare nel mio caso ottengo:

From: theWebmaster@perseus.dnsplan.com
e nessuna informazione di Reply-To

Vorrei sapere se qualcuno ha riscontrato un problema analogo e come è riuscito a risolverlo.

Grazie
Sync
Rispondi citando
  #2 (permalink)  
Vecchio 13-04-2008, 13.40.40
L'avatar di morphey
Administrator
 
Data registrazione: 13-03-2006
Messaggi: 202
morphey ha disabilitato la reputazione
Predefinito

Ciao,

cambialo in questo modo e fammi sapere:
Codice:
<?php
$to = 'myAddress@myDomain.com';
$subject = 'the subject';
$message = 'hello';

$headers = 'From: theWebmaster <una_email_esistente_del_tuo_dominio@dominio.est>' . "\r\n";
$headers .= 'Reply-To: <webmaster@dominio.est>';
//aggiungerei anche
$headers .= 'Return-path: <webmaster@dominio.est>';

mail($to, $subject, $message, $headers);
?>
Rispondi citando
  #3 (permalink)  
Vecchio 13-04-2008, 15.44.23
Junior Member
 
Data registrazione: 13-04-2008
Messaggi: 3
SyncViewS is on a distinguished road
Predefinito

Grazie Morphey per la rapida risposta domenicale.

Ho provato ad aggiungere nell'header anche il 'Return-Path:' settandolo uguale al 'Reply-to:'. Per sicurezza, anche se non dovrebbe avere alcuna influenza, ho utilizzato un indirizzo di posta esistente.
Nel campo 'From:' ho usato un nome qualsiasi, dato che è il nome che compare per indicare il mittente, senza alcuna reale rilevanza per quanto riguarda l'indirizzo di posta. Purtroppo il risultato non è cambiato, di seguito il nuovo codice:

Codice:
<?php
$to = 'miaEmailEsistente@mioDominioEsistente.it';
$subject = 'the subject';
$message = 'hello';

$headers  = 'From: nomeQualunque' . "\r\n";
$headers .= 'Reply-To: emailEsistente@dominioEsistente.it' . "\r\n";
$headers .= 'Return-Path: emailEsistente@dominioEsistente.it';

mail($to, $subject, $message, $headers);
?>
Il risultato resta sempre il medesimo. Ricevo un'email che presenta nel campo From: nomeQualunque@perseus.dnsplan.com
e tutto il resto viene ignorato.

Accade la stessa cosa anche con un altro dominio registrato presso di voi hostato su un server differente. In quel caso ottengo:
From: nomeQualunque@echos.dnshighspeed.com
e tutto il resto viene ignorato.

Grazie
Sync
Rispondi citando
  #4 (permalink)  
Vecchio 13-04-2008, 22.37.19
L'avatar di morphey
Administrator
 
Data registrazione: 13-03-2006
Messaggi: 202
morphey ha disabilitato la reputazione
Predefinito

Ciao,

invia un ticket a supporto@serverplan.com e vediamo direttamente il codice scritto in modo da verificare se il problema è lato-server o qualche errore nel codice che viene valutato.

Posteremo qui la risoluzione del problema in modo da aiutare altri con lo stesso.
Rispondi citando
  #5 (permalink)  
Vecchio 14-04-2008, 14.09.21
Junior Member
 
Data registrazione: 13-04-2008
Messaggi: 3
SyncViewS is on a distinguished road
Predefinito Soluzione problema headers

Ciao a tutti,
credo di aver trovato una soluzione al problema modificando le informazioni inserite nell'header, e settando la variabile sendmail_from prima dell'invio dell'email. Funziona sia in un comune webmail, sia in Thunderbird, anche se la prima volta riconosce la mail come Junk. Una volta fatta riconoscere come valida, il problema è risolto.

Di seguito il codice:
Codice:
<?php

$eol = "\r\n";

// variabili settate attraverso un form html
$from = utf8_decode(trim(stripslashes($_POST['sFrom'])));
$subject = utf8_decode(trim(stripslashes($_POST['sSubject'])));
$replyTo = utf8_decode(trim(stripslashes($_POST['sReplyTo'])));
$message = utf8_decode(trim(stripslashes($_POST['sMessage'])));
$message .= $eol.$eol;

// indirizzo email esistente a cui inviare la mail
$to = "mioIndirizzoEmail@mioDominio.com";

$headers = "From: ".$from."<".$replyTo.">".$eol;

// informazioni per settare l'indirizzo a cui rispondere
$headers .= "Reply-To: ".$from."<".$replyTo.">".$eol;
$headers .= "Return-Path: ".$from."<".$replyTo.">".$eol;

// informazioni per aiutare ad evitare i filtri anti spam
$headers .= "Message-ID: <".time()."-".$replyTo.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;

ini_set(sendmail_from, $replyTo);

if (mail($to, $subject, $message, $headers)) {
	echo "<p>Email inviata con successo</p>";
}
else {
	echo "<p>Invio email fallito</p>";
}

ini_restore(sendmail_from);

?>
Saluti
Sync
Rispondi citando
Rispondi

Strumenti discussione Cerca in questa discussione
Cerca in questa discussione:

Ricerca avanzata
Modalità visualizzazione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks are Attivato
Pingbacks are Attivato
Refbacks are Attivato



Tutti gli orari sono GMT +1. Adesso sono le 21.23.10.


Powered by vBulletin versione 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0
Traduzione italiana : www.vbulletin.it