Visualizzazione risultati 1 fino 1 di 1

Discussione: [PHPMailer 5.1] Invio di una mail con css esterno

  1. #1
    Guest

    Predefinito [PHPMailer 5.1] Invio di una mail con css esterno

    Ciao ragazzi =)

    Oggi mi sto scontrando con un problema assai fastidioso... Devo inviare una mail fatta in questo modo attraverso PHPMailer 5.1:
    Codice HTML:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
    	  <link rel="stylesheet" type="text/css" href="http://provaphpprova.altervista.org/MailTemplates/mailstyle.css" />
      </head>
      <body>
        <div id="all">
          <div id="top">
    	    <div id="title">BlackGecko Unleashed!</div><div id="description">Il sito internet di BlackGecko!</div>
    
    	  </div>
    	  <div id="content">
    	    Grazie per esserti registrato in <a href="http://provaphpprova.altervista.org/index.html">BlackGecko Unleashed!</a>,<br /><br />
    		prima di poter accedere ti chiediamo attivare il tuo account. Per attivarlo dovrai cliccare sul link che troverai qui di seguito.<br /><br />
    		<a href="http://provaphpprova.altervista.org/activation.php?acticode=blablabla">http://provaphpprova.altervista.org/activation.php?acticode=blablabla</a><br /><br />
    		Qui di seguito ti alleghiamo i dati con cui ti sei registrato. Salva questa mail perch&eacute; ti potr&agrave; tornare utile nel caso ti scordassi i dati di registrazione!
    		Non ti sar&agrave; possibile recuperare i dati persi perch&eacute; sono crittografati all'interno di un database.<br /><br />
    
    		Username: username<br />
    		Password: password<br /><br />
    		Buon divertimento e ricorda che per qualsiasi problema l'amministratore del sito &egrave; a tua disposizione.
    	  </div>
    	  <div id="footer">
    	    BlackGecko Unleashed! - Il sito internet di BlackGecko!
    	  </div>
    	</div>
    
    	<div id="spacer"></div>
      </body>
    </html>
    Notare bene la riga:

    Codice HTML:
    <link rel="stylesheet" type="text/css" href="http://provaphpprova.altervista.org/MailTemplates/mailstyle.css" />
    Come vedete è molto semplice ma c'è un piccolo problema. Come vedete uso un css esterno. Motivo di questo? Perchè questo sarà comune a tutte le mail e io non ho intenzione di copiarmi il css in ogni singola mail. Questo perchè non appena farò un cambiamento anche su una sola delle mail si aprirà il vaso di Pandora. Mi toccherebbe aprire e modificare ogni singolo file.

    Io uso libero e li le mail contenenti immagini vengono visualizzate correttamente, non vedo perchè le mail con i css esterni dovrebbero essere un eccezione.
    Come devo fare per inviarla e fare si che venga accettata? Ecco lo script che se ne occupa:

    Codice PHP:
    public function SendRegistrationMail($Username, $Password, $Email, $ActivationCode) {
    require_once(
    $this->PHPMailerDirectory.'class.phpmailer.php');
    require_once(
    'htmlutility.php');
    try {
    $Message = new PHPMailer;
    $Message->IsHTML(True);
    $Message->From = $this->RegisterMail;
    $Message->FromName = $this->RegisterMail;
    $Message->AddAddress($Email, $Username);
    $Message->Subject = "Ciao $Username! Conferma la registrazione.";
    $HTMLPage = new HTMLUtility($this->MailTemplatesDirectory.'register.html');
    $Message->Body = $HTMLPage->HTMLPageToString(array(... /*Alcuni valori da inserire nella mail, questa parte funziona*/ ...));
    echo (
    $Message->Body);
    $Message->Send();
    } catch (
    phpmailerException $Exception) {
    echo
    $Exception->errorMessage();
    }
    unset(
    $Message);
    }
    Grazie a chi saprà darmi una mano =)

    >>EDIT:

    Nel caso che voi non abbiate idee ho comunque un'idea pronta ma devo ancora valutarne i pro ed i contro.

    >>RE-EDIT 1:
    La soluzione pronta non ha dato i suoi risultati ='S... è una soluzione migliore ma il problema permane... Ecco la nuova forma della mail:

    Codice HTML:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
    	  <style type="text/css">
    body { background-color: #fff; margin: 0; }
    #all { background-color: red; width: 75%; margin: 0 auto; font-family: "Trebunchet MS", Arial; font-size: 0.9em; }
    #top { background-color: green; text-align: center; width: 100%; padding: 10px 0; }
    #title { font-size: 1.3em; }
    #description { font-size: 0.9em; }
    #content { background-color: yellow; padding: 10px 10px; }
    #footer { background-color: red; padding: 10px 10px; font-size: 0.7em; text-align: center; }
    #spacer { background-color: transparent; height: 30px; width: 100%; }
    </style>
      </head>
      <body>
        <div id="all">
          <div id="top">
    	    <div id="title">BlackGecko Unleashed!</div><div id="description">Il sito internet di BlackGecko!</div>
    
    	  </div>
    	  <div id="content">
    	    Grazie per esserti registrato in <a href="http://provaphpprova.altervista.org/index.html">BlackGecko Unleashed!</a>,<br /><br />
    		prima di poter accedere ti chiediamo attivare il tuo account. Per attivarlo dovrai cliccare sul link che troverai qui di seguito.<br /><br />
    		<a href="http://provaphpprova.altervista.org/activation.php?acticode=XP">http://provaphpprova.altervista.org/activation.php?acticode=XP</a><br /><br />
    		Qui di seguito ti alleghiamo i dati con cui ti sei registrato. Salva questa mail perch&eacute; ti potr&agrave; tornare utile nel caso ti scordassi i dati di registrazione!
    		Non ti sar&agrave; possibile recuperare i dati persi perch&eacute; sono crittografati all'interno di un database.<br /><br />
    
    		Username: XP<br />
    		Password: password<br /><br />
    		Buon divertimento e ricorda che per qualsiasi problema l'amministratore del sito &egrave; a tua disposizione.
    	  </div>
    	  <div id="footer">
    	    BlackGecko Unleashed! - Il sito internet di BlackGecko!
    	  </div>
    	</div>
    
    	<div id="spacer"></div>
      </body>
    </html>
    >>RE-EDIT 2:
    Su yahoo funziona. A quanto pare Libero, la mia mail, fa la schizzinosa -.-
    Ad ogni modo devo trovare una soluzione anche per quella.
    Ultima modifica di provaphpprova : 19-08-2010 alle ore 12.20.58

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •