Non stampa il trattino

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Stampa mittente sbagliato

Se nel campo del form non è inserita la mail, stampa il trattino, invece come mittente stampa <span style=\"color:#666666\">-</span> dovrebbe invece stampare Apache

PHP:
//Questo codice se il campo è vuoto mette a video la barretta
if ($suoemail == '') {
$suoemail = "<span style=\"color:#666666\">-</span>";
}
else {
$suoemail;
}
 
Ultima modifica:
Hai verificato che la variabile sia vuota? Dove stampi la variabile, li la setti e basta e inoltre cosa dovrebbe accadere nell'else che attualmente è inutile
 
Hai verificato che la variabile sia vuota? Dove stampi la variabile, li la setti e basta e inoltre cosa dovrebbe accadere nell'else che attualmente è inutile

Se nel form viene inserita la mail, poi la stampa correttamente, quando invece il form viene inviato col campo vuoto stampa il trattino, ma nel campo DA di Mail appare il codice span

PHP:
$headers1 *= "MIME-Version: 1.0\r\n";
$headers1 .= "content-type: text/html; charset=iso-8859-1\r\n";
$headers1 .= "X-Mailer: PHP\n";*
$headers1 .= "From:$suoemail";
..
Email: $suoemail

...

mail($a,$oggetto,$messaggioMail,$headers1);
 
ciao
una domanda per capirsi:
se il campo dal form è vuoto ti arriva un'email con scritto
?
mentre tu vorresti che, sempre con campi vuoto, ti stampasse

è così?
se è così hai settato l'invio (e la ricezione) in formato html?

Si è html, comunque ho risolto così, in Mail nel campo DA stampa il trattino così capisco che non ha inserito la mail

PHP:
//Questo codice se il campo è vuoto mette a video la barretta
if ($suoemail == '') {
$suoemail ="<font style=\"color:#666666\">-</font>";
}
 
ciao
forse ho scoperto l'inghippo
l'header di una email dovrebbe essere in formato testo non accetta, mi sembra, html quindi prona a mettere (es)
PHP:
if ($suoemail == '') { 
$suoemail ="non inserita"; 
}
o solo il trattino
 
ciao
forse ho scoperto l'inghippo
l'header di una email dovrebbe essere in formato testo non accetta, mi sembra, html quindi prona a mettere (es)
PHP:
if ($suoemail == '') { 
$suoemail ="non inserita"; 
}
o solo il trattino

Così stampa il trattino, però non gli posso mettere il css

PHP:
if ($suoemailS == '') {
$suoemailS = "-";
}
 
Perché complicarsi la vita quando phpmailer ti da già tutto pronto

PHP:
include 'class.phpmailer.php';



$suoemail = "Prova <span style=\"color:red\">-</span>";
$a = '[email protected]';
$oggetto = 'Test prova';

try{

$mailer = new PHPMailer(true);

$mailer->AddAddress($a);
$mailer->Subject = $oggetto;
$mailer->AltBody = 'Html editor non attivo';
$mailer->MsgHTML($suoemail);
$mailer->IsHTML(true);

$mailer->Send();

echo "Messaggio spedito";

}catch(phpmailerException $err){ echo "Errore durante l'invio della mail: $err"; }
 
ciao
Così stampa il trattino, però non gli posso mettere il css
no non accetta html, cioè non che non l'accetti ma l'heder è in formato testo quindi stampa i tag come de fossero txt.
Nefyt, giustamente, non fa che ribadire quello che ho detto
 
Perché complicarsi la vita quando phpmailer ti da già tutto pronto

PHP:
include 'class.phpmailer.php';



$suoemail = "Prova <span style=\"color:red\">-</span>";
$a = '[email protected]';
$oggetto = 'Test prova';

try{

$mailer = new PHPMailer(true);

$mailer->AddAddress($a);
$mailer->Subject = $oggetto;
$mailer->AltBody = 'Html editor non attivo';
$mailer->MsgHTML($suoemail);
$mailer->IsHTML(true);

$mailer->Send();

echo "Messaggio spedito";

}catch(phpmailerException $err){ echo "Errore durante l'invio della mail: $err"; }

Si possono testare anche le mail in locale?
 
ciao
per inviare da locale come ha detto nefty
PHP:
<?php
//.....
require "phpmailler/class.phpmailer.php";
$Emailmessaggio = new PHPmailer();
$Emailmessaggio->SetLanguage('it','language/'); //messo italiano, ma la scelta è vasta
//per inviare da locale *** INIZIO*****
$Emailmessaggio->IsSMTP();// send via SMTP
$Emailmessaggio->Host = "smtp.pinco_pallo.it"; // SMTP servers
$Emailmessaggio->SMTPAuth = true; // turn on SMTP authentication
$Emailmessaggio->Username = "asdrubale.asdrubali";  // SMTP username
$Emailmessaggio->Password = "aaabbbcccddd"; // SMTP password
//per inviare da locale *** FINE*****
// e tutto il resto....
//.....
?>
comunque verifica che nella cartella phpmailler ci sia la classe class.smtp.php, non devi richianarla ci pensa phpmailer a farlo
 
ciao
per inviare da locale come ha detto nefty
PHP:
<?php
//.....
require "phpmailler/class.phpmailer.php";
$Emailmessaggio = new PHPmailer();
$Emailmessaggio->SetLanguage('it','language/'); //messo italiano, ma la scelta è vasta
//per inviare da locale *** INIZIO*****
$Emailmessaggio->IsSMTP();// send via SMTP
$Emailmessaggio->Host = "smtp.pinco_pallo.it"; // SMTP servers
$Emailmessaggio->SMTPAuth = true; // turn on SMTP authentication
$Emailmessaggio->Username = "asdrubale.asdrubali";  // SMTP username
$Emailmessaggio->Password = "aaabbbcccddd"; // SMTP password
//per inviare da locale *** FINE*****
// e tutto il resto....
//.....
?>
comunque verifica che nella cartella phpmailler ci sia la classe class.smtp.php, non devi richianarla ci pensa phpmailer a farlo
Se invio in locale, poi arriva su Mail?
 

Allegati

  • Img_02.png
    Img_02.png
    18,4 KB · Visite: 222
Ultima modifica:

Discussioni simili