io mando una e-mail utilizzando i pacchetti di posta e mail_mime di pera e codice di esempio, come di seguito:dot s mancano qua e là nel codice HTML durante l'invio di messaggi di posta elettronica PEAR Mail_Mime
$sendStart=array();
require_once('Mail.php');
require_once('Mail/mime.php');
$sendStart['mail'] =& Mail::factory('mail');
$sendStart['mime'] = new Mail_mime("\n");
$sendStart['mime']->setHTMLBody($html);
$sendStart['headers']['Subject']=$title;
$sendStart['headers']['X-SMTPAPI']='{"category": ["MailID-XXX"]}';
$body=$sendStart['mime']->get(array(
'html_charset'=>'UTF-8',
'text_charset'=>'UTF-8',
'head_charset'=>'UTF-8'
));
//echo ($sendStart['mime']->_htmlbody); exit;
$sendStart['mail']->send('[email protected]',$sendStart['mime']->headers($sendStart['headers']),$body);
sto affrontando un strano problema durante l'invio delle mail attraverso questo codice. Ho immagini all'interno del corpo dell'email, a volte le immagini non vengono visualizzate. Quando eseguo il debug del problema, ho riscontrato che nell'url dell'immagine manca .
. Ma se stampo la posta appena prima della riga di invio (come commento nel codice), stampa perfettamente l'immagine.
corretta immagine url: http://www.domain.com/image.png
nella posta: http://www.domaincom/image.png
o http://www.domain.com/imagepng
... ecc
parte del codice HTML, che ha l'immagine come di seguito:
<table cellpadding="0" cellspacing="0" border="0" class="image-table image-2" align="center" style="float:none;margin-left:auto;margin-right:auto;text-align:left;">
<tbody>
<tr>
<td class="element" style="text-align: left;height: auto;overflow: hidden;-webkit-text-size-adjust: none;">
<!--[if gte mso 9]><img alt="Placeholder Image" src="http://www.domain.com/image.png" style="outline: none; text-decoration: none; display: block; clear: none; float: none; margin-left: auto; margin-right: auto;display:none; mso-hide: none;" align="center" width="394"><![endif]--><![if !mso]><!-- --><img alt="Placeholder Image" src="http://www.domain.com/image.png" style="outline: none;text-decoration: none;display: block;clear: none;float: none;width: 100%;height: auto;max-width: 394px;margin-left: auto;margin-right: auto;*width: 394px;-ms-interpolation-mode: bicubic;" align="center"><!--<![endif]-->
</td>
</tr>
</tbody>
</table>
E il la cosa molto strana è che sta visualizzando correttamente in Outlook ma non in altri client come per Outlook ho codice separato (come da codice).
Qualcuno ha idea di come eseguire il debug del problema o di qualsiasi commento su questo problema.
Modificato:
Questo problema è niente a che fare con qualsiasi tag specifico (anche se mi spiego utilizzando tag di immagine), ho esperienza in diversi luoghi come negli stili.
esempio: line-heigth:1.5;
è l'originale e cambia in line-heigth:15;
durante l'invio.
Fondamentalmente è sufficiente rimuovere lo .
qui nel & nell'email HTML.
Quali sono i valori di '$ html' e' $ body'? –
in realtà il suo piccolo template html che non riesco a inserire nella domanda anche se lo modificherò con la parte dell'immagine pertinente, @DaveChen si prega di controllare la domanda modificata –
Interessante ... si inviano email diverse per MS-Outlook? Come fai a sapere in anticipo quale ricevitore utilizza quale client di posta elettronica? – arkascha