problema con phpmailer

acweb-2004

Utente Attivo
7 Giu 2006
133
0
16
Monza
www.acweb-2004.it
ciao
gestisco una newsletter che invio con PHPMAILER (in formato html).
In una variabile ho il testo che utilizzo sia per la mail che per una pagina web che invito a visitare per le webmail che non supportano le mail in formato html.
Le mail che si ricevono spezzano qua e là le parole (cosa che non si riscontra nella paginas web).
In effetti se visualizzo il sorgente della pagina web (tramite il browser) il testo mi appare su un’unica riga, mentre se visualizzo la mail con una webmail (es. alice.it) il testo della mail viene spezzettato su più righe e l’accapo mi introduce lo spazio. Quello che non capisco è che io non inserisco nessun "a capo", il testo è solo una stringa di caratteri con un inizio ed una fine, scritta con dreamweare!
Come posso evitare tutto questo????

grazie

augusto
 
questo è il testo che uso per richiamare PHPMAILER (ver. 5.1)

PHP:
if ($tipinv == 'html')
	{
	$messaggio->IsHTML(true);
	}
	else
	{
	$messaggio->IsHTML(false);
	}
$messaggio->WordWrap = 50;
$messaggio->Sender = $admin;
$messaggio->From = $admin;
$messaggio->FromName = "aaaaaaaaaaaa";
$messaggio->AddAddress($Destinatario);
$messaggio->AddReplyTo($admin);
$messaggio->ConfirmReadingTo = $replayperapertura;       //indirizzo per la conferma di lettura 
$messaggio->Subject = $Oggettomail;
$messaggio->Body = $mess;
$messaggio->AltBody = $messaggiomail_no_html;            //  testo alternativo per webmail che non visualizzano html

if($NomeFile!=''){
	$messaggio->AddAttachment($IndFile, $NomeFile, "base64", $FileType);         //  aggiungo l'allegato
	}

if(!$messaggio->Send()){
	  $swreturn = 1; 
	}else{
	  $swreturn = 0;
	}

non ci sono allegati.
Ora ho fatto una prova, ho inserito un <br> tra due paragrafi ed i fine riga si sono spostati e non si evidenziano spazi nelle parole, ma questa è solo una coincidenza.

grazie

augusto
 
Ultima modifica di un moderatore:
ciao
si, se provi a fare
HTML:
<div style="width:300px; text-align:justify; ">prova di justify  con testo lungo abrakadabraabrakadabra</div>
vedrai che il testo ti apparirà con gli spazi per "giustificarsi" ai 300px
giustificato.jpg

dimenticavo:
se metti <br> prima di abra.... vedrai che si porta a sx
 
Ultima modifica:
Veramente io penso che il problema sia questo:
PHP:
$messaggio->WordWrap = 50;
Applica invece manualmente il wordwrap tramite l'omonima funzione di PHP, che ha un parametro per impedire che le parole vengano spezzate.
 
ciao
in effetti usando wordwrap come da manuale l'effetto è quello giusto
PHP:
<?php
$testo=wordwrap("prova di justify  con testo lungo abrakadabraabrakadabra",9, "<br />\n", true);
echo $testo;
?>
@alex comunque una mia curiosità, aprendo class.phpmailer.php trovo le seguenti funzioni:

function WrapText($message, $length, $qp_mode = false) {....
function SetWordWrap() {....

non è che si debba settare quelle oltre che a dare il valore $messaggio->WordWrap = 50; ?
 
Non capisco quale valore devo dare al parametro lunghezza. Il testo della mail è contenuto in un div di 600px??. Ho provato con: $messaggio->WordWrap = 500; ma nulla...
Se utilizzo align="left" non ci sono problemi.... peccato il justify è più elegante.

grazie
 

Discussioni simili