function send_mail_pear()
{
$crlf = "\n";
$to = "mail@mail.in";
$head = ("From: mail@mail.in". "\r\n");
$head .= "Content-type: text/html\r\n";
$head .= "Content-Type: image/jpeg";
$mime = new Mail_mime($crlf);
echo $head. "<br/>";
$mime->setHTMLBody('<html><body><img src="map_6.gif"> <p>You see this image.</p></body></html>');
$mime->addHTMLImage('map_6.gif', 'image/gif');
$subject = "Test mail";
$mailBody = $mime->get();
$mail =& Mail::factory('mail');
echo $mailBody ;
/*if(mail($to, $subject, $mailBody, $head)){
echo "successful";
} else {
echo "Mail Not sent";
}
}
答案 0 :(得分:0)
我相信你必须将图像链接为“cid:yourcontentid”,并指定“yourcontentid”作为addHTMLImage的参数。
您可以参考the documentation了解更多信息。
答案 1 :(得分:0)
你可以使用它来附加它。或者我建议最不痛苦的选择是在一些服务器上托管图像并发送HTML电子邮件。
身体看起来像
<html>
<p>
<img src='http://yourserver.com/YOURIMAGE.gif' />
</p>
</html>
编辑:
将图片或文件附加到电子邮件中尝试类似这样的内容
$to = "someome@anadress.com";
$from = "SOME NAME ";
$subject = "SUBJECT";
$fileatt = "./FILENAME.gif";
$fileatttype = "image/gif";
$fileattname = "ATTACHMENTNAME.gif";
$headers = "From: $from";
$file = fopen($fileatt, 'rb');
$data = fread($file, filesize($fileatt));
fclose($file);
$data = chunk_split(base64_encode($data));
$rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$rand}x";
$headers .= <<<HEADER
MIME-Version: 1.0\n
Content-Type: multipart/mixed;\n
boundary="{$mime_boundary}"
HEADER;
$message = <<<MESSAGE
This is a multi-part message in MIME format.\n\n
-{$mime_boundary}\n
Content-Type: text/plain; charset=\"iso-8859-1"\n
Content-Transfer-Encoding: 7bit\n\n
\n\n
–{$mime_boundary}\n
Content-Type: {$fileatttype};\n
name="{$fileattname}"\n
Content-Disposition: attachment;\n
filename="{$fileattname}"\n
Content-Transfer-Encoding: base64\n\n
{$data}\n\n
-{$mime_boundary}-\n
MESSAGE;
if(mail($to, $subject, $message, $headers)) {
echo "The email was sent.";
}
else {
echo "There was an error sending the mail.";
}
答案 2 :(得分:0)
Matthias Vance的回答是故事的一部分。
如果你想发送一个自包含的HTML邮件,那么它需要以mhtml类型发送(注意,不同实现的内容类型有所不同 - 它应该是多部分/相关的,但经常是消息/ RFC822)。然而,在RFC 2557中有一个正式的结构定义。每个组件应该是单独的附件。这也意味着必须重写每个URL以使用本地引用和cid方案 - IIRC,PEAR类不会为您执行此操作。
网上有一些文件,例如this one - 但不要陷入相信除了在本地发送电子邮件/保存网页之外的其他任何事情的陷阱 - MSIE无法正确处理通过HTTP传送的mhtml文件。
我不知道有任何现成的包用于生成mhtml文件/电子邮件 - 但有一些用于parsing such files。编写一个工具来做到这一点很简单,但不是一件容易的事。