当我发送邮件时没有得到css,只得到没有样式的html内容--我的php代码如下所示,我使用phpmailer .so,如何在我的html内容中获得css样式?我通过添加$mail->IsHTML(True)来尝试代码,但没有添加happen............................................
require_once('../class.phpmailer.php');
$mail= new PHPMailer(); // defaults to using php "mail()"
$mail->IsSendmail(); // telling the class to use SendMail transport
$body= file_get_contents('contents.html');
$body= eregi_replace("[\]",'',$body);
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo("name@yourdomain.com","First Last");
$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");
$mail->Subject= "PHPMailer Test Subject via Sendmail, basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
Html代码:
<head>
<style>
#outlook a {
padding:0;
}
body{
width:100% !important;
min-width: 100%;
-webkit-text-size-adjust:100%;
-ms-text-size-adjust:100%;
margin:0;
padding:0;
}
.ExternalClass {
width:100%;
}
.....etc...................
.......................
</style>
</head>
<body>
<table class="body">
<tr>
<td class="center" align="center" valign="top">
<center>
<table class="row header">
<tr>
<td class="center" align="center">
<center>
<table class="container">
<tr>
<td class="wrapper last">
<table class="twelve columns">
<tr>
<td class="six sub-columns">
<img src="http://placehold.it/200x50">
</td>
<td class="six sub-columns last" style="text-align:right; vertical-align:middle;">
<span class="template-label">BASIC</span>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="container">
<tr>
<td>
<table class="row">
<tr>
<td class="wrapper last">
<table class="twelve columns">
<tr>
<td>
<h1>Hi, Susan Calvin</h1>
<p class="lead">Phasellus dictum sapien a neque luctus cursus. Pellentesque sem dolor, fringilla et pharetra vitae.</p>
<p>Phasellus dictum sapien a neque luctus cursus. Pellentesque sem dolor, fringilla et pharetra vitae. consequat vel lacus. Sed iaculis pulvinar ligula, ornare fringilla ante viverra et. In hac habitasse platea dictumst. Donec vel orci mi, eu congue justo. Integer eget odio est, eget malesuada lorem. Aenean sed tellus dui, vitae viverra risus. Nullam massa sapien, pulvinar eleifend fringilla id, convallis eget nisi. Mauris a sagittis dui. Pellentesque non lacinia mi. Fusce sit amet libero sit amet erat venenatis sollicitudin vitae vel eros. Cras nunc sapien, interdum sit amet porttitor ut, congue quis urna.</p>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
</tr>
</table>
<table class="row callout">
<tr>
<td class="wrapper last">
<table class="twelve columns">
<tr>
<td class="panel">
<p>Phasellus dictum sapien a neque luctus cursus. Pellentesque sem dolor, fringilla et pharetra vitae. <a href="#">Click it! »</a></p>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
</tr>
</table>
<table class="row footer">
<tr>
<td class="wrapper">
<table class="six columns">
<tr>
<td class="left-text-pad">
<h5>Connect With Us:</h5>
<table class="tiny-button facebook">
<tr>
<td>
<a href="#">Facebook</a>
</td>
</tr>
</table>
<br>
<table class="tiny-button twitter">
<tr>
<td>
<a href="#">Twitter</a>
</td>
</tr>
</table>
<br>
<table class="tiny-button google-plus">
<tr>
<td>
<a href="#">Google +</a>
</td>
</tr>
</table>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
<td class="wrapper last">
<table class="six columns">
<tr>
<td class="last right-text-pad">
<h5>Contact Info:</h5>
<p>Phone: 408.341.0600</p>
<p>Email: <a href="mailto:hseldon@trantor.com">hseldon@trantor.com</a></p>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
</tr>
</table>
<table class="row">
<tr>
<td class="wrapper last">
<table class="twelve columns">
<tr>
<td align="center">
<center>
<p style="text-align:center;"><a href="#">Terms</a> | <a href="#">Privacy</a> | <a href="#">Unsubscribe</a></p>
</center>
</td>
<td class="expander"></td>
</tr>
</table>
</td>
</tr>
</table>
<!-- container end below -->
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
发布于 2014-07-06 23:23:33
我认为您使用的是PHPMailer的旧版本,或者至少是旧的示例代码。
不要使用ereg*函数--它们已经被废弃多年了。
PHPMailer不会触及你的HTML,只会正确地对它进行编码,所以你看到的任何东西都是在进入收件箱之前的服务器端过滤,或者像@SLaks所说的客户端限制。
我看到您正在使用Zurb的Ink框架(很好的选择),但是您需要通过他们的内衬来运行它,特别是在gmail中。
为了测试您的内容是否是干净的,可以使用Apple这样的工具进行测试,它具有任何客户端的最佳渲染效果,并且完全不影响您的内容。Gmail不剥离样式,但它会剥离类和ids,除非您内联所有内容或只使用基于标记的选择器,否则CSS就毫无用处。
发布于 2014-07-06 23:46:59
它与PHPMailer没有连接。如果您发送电子邮件作为HTML发送您的数据,而不是改变您的代码。
您应该将<style>
转换为<style type="text/css">
,以确保所有电子邮件客户端在理解您的样式时不会有问题。
第二件事是,您应该使用其他一些CSS属性(例如background-color
或color
)来测试代码。
然而,CSS代码的某些部分--简单--无法工作。电子邮件客户端不是浏览器,因此要与电子邮件客户端最大程度地兼容,您需要经常使用如下代码:
<table cellpadding=0" cellspacing="0" width="700" align="center" border="0" bgcolor="#ffffff">
而不是使用漂亮的CSS
发布于 2016-01-06 19:48:51
我发现,一些电子邮件客户端,如Gmail和Hotmail只回复内联css可悲。但是,本质上,如果您知道CSS,您可以对每个html元素使用内联样式。这是我能给出的最好的建议。
https://stackoverflow.com/questions/24598239
复制