<?php
$to = 'abc@gmail.com';
$subject = 'the subject';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$message = file_get_contents('http://domain.com/newsletter.html');
$headers = 'From: xyz@gmail.com' . "\r\n" .
'Reply-To: xyz@gmail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
这是我的邮件代码。在这里,我将我的简报发送给现有客户。
任何人都可以帮助我如何通过邮件发送/打开时事通讯?
答案 0 :(得分:2)
我建议您使用以下内容,但是您将无法使用http://
来电,因为这违反了安全原因。
通过这样做,任何人都可以从任何网站包含他们想要的任何内容。该文件必须驻留在您的服务器上,以便以下工作。
利用include()
,ob_start()
和ob_get_clean()
函数。
您必须使用要包含的文件的相对路径。
<?php
ob_start();
include 'file.xxx';
$message = ob_get_clean();
$to= 'email@example.com';
$subject = 'the subject';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: email@example.com' . "\r\n" .
'Reply-To: email@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers)){
echo "Message sent.";
}
else{
echo "There was a problem. Check your logs.";
}
?>
<强>脚注:强>
我从评论中引用jsalonen
:“请记住,电子邮件阅读器中的CSS支持(可能是有意的)非常有限:campaignmonitor.com/css - 所以如果它在常规浏览器中工作,它可能会或可能不会在电子邮件阅读器中工作。“
图片:强>
您需要做的另一件事是,如果您正在使用图像,那么您将需要使用http://
调用图像位置。
即:<img src="http://www.example.com/images/image_1.jpg">
答案 1 :(得分:0)
如果ini文件中有allow_url_fopen,则可以执行以下操作:
$html = file_get_contents('http://domain.com/newsletter.html');
$message = $html;
这应该起作用的原因是因为大多数电子邮件客户端都可以阅读以HTML格式发送的电子邮件(只要您以HTML格式发送电子邮件而不仅仅是明文电子邮件)。
您可以使用echo htmlspecialchars($html);
查看您要发送的HTML。