Perchè non invia la mail in formato html?

  • Creatore Discussione Creatore Discussione migo80
  • Data di inizio Data di inizio

migo80

Utente Attivo
25 Apr 2013
243
3
18
Buongiorno a tutti lo script che posto è un plagin per newslwtter del cms osclass 3.1, il problema è che quando invio la mail, la ricevo in forato testo e non con formattazione html. ps. uso anche la libreria jquery tinymce
PHP:
 if(Params::getParam('plugin_action')=='done') {
        $subject = Params::getParam('subject');
        $messagesend = Params::getParam('message');
        $users = User::newInstance()->listAll();
			
     $conn   = getConnection();
     $users = $conn->osc_dbFetchResults("SELECT * FROM %st_user", DB_TABLE_PREFIX);

			
         $bcc = array();
        foreach($users as $user) {
            $bcc[] = $user['s_email'];
			
		  	
        }
		
          $params = array(
            'subject' => $subject
            ,'to' => osc_contact_email()
            ,'to_name' => osc_page_title()
            ,'body' => $messagesend
            ,'alt_body' => strip_tags($messagesend)
            ,'add_bcc' => $bcc 
        ) ;

        osc_sendMail($params) ;
        
        // Show a flash message informing our users that the email was sent
        osc_add_flash_ok_message(__('La tua mail è stata inviata', 'neswletter'),'admin');
        
    }


?>
 
ciao
non conosco quel plug, ma cosi a naso vedo niell'array $params
,'alt_body' => strip_tags($messagesend)
non so se sia quello, ma la funzione php strip_tags elimina i tag html,
esempio
PHP:
<?php
$stringa="<b>scritta bold</b>";
echo $stringa;//viene bold
$stringa=strip_tags($stringa);
echo $stringa;//il bold annullato
?>

edit
scusa non avevo letto bene il post, ho detto una put...
 
Ultima modifica:
Ciao Forse hai ragione...stavo controllando il file che manda le mails di conferma inserimento annuncio che arrivano in formato html e alla voce alt_body non c'è lo strip_tags
 
ciao
come detto non conosco quel plug (uso la classe phpmailler), però in teoria quell'alt_body dovrebbe essere il messaggio alternativo se il client di posta del ricevente non è settato per ricevere in html.
cioè (parlo di phpmailler): se il client è settato html vedo il body, altrimenti vedo l'alt_body.
poi non so se c'è qualcosa di simile, ma in phpmailler bisogna dirgli di inviare in html
PHP:
<?php
//....
$email = new PHPmailer();
//...
$email->IsHTML(true);
//...
?>
verifica quindi di non esserti dimenticato di settare qualche parametro
 
ma comunque il plag va ad usare la classe phpmailer del cms stesso con questo parametro:

PHP:
osc_sendMail($params) ;

io provo senza strip_tags e vediamo cosa succede...
 
ciao
allora prova (forse è meglio) ad aggiungere in $params
PHP:
$params = array(
            'IsHTML' => true,
			'subject' => $subject,
			//ecc....
			);
perchè da quello che capisco il plug istanzia i parametri di phpmailler
e lascia lo strip_tags nell alt_body

dimenticavo:
non so se sia meglio scriverlo così:
'IsHTML' => 'true',
 
Ultima modifica:

Discussioni simili