我被困了两天。我试图从PHP使用imap_append但到目前为止没有运气。我能够为单个附件实现此代码,但多个附件无法正常工作。
<?php
$authhost="{000.000.000.000:993/validate-cert/ssl}Sent";
$user="sadasd";
$pass="sadasd";
if ($mbox=imap_open( $authhost, $user, $pass))
{
$dmy=date("d-M-Y H:i:s");
$filename="filename.pdf";
$attachment = chunk_split(base64_encode($filestring));
$boundary = "------=".md5(uniqid(rand()));
$msg = ("From: Somebody\r\n"
. "To: test@example.co.uk\r\n"
. "Date: $dmy\r\n"
. "Subject: This is the subject\r\n"
. "MIME-Version: 1.0\r\n"
. "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"
. "\r\n\r\n"
. "--$boundary\r\n"
. "Content-Type: text/html;\r\n\tcharset=\"ISO-8859-1\"\r\n"
. "Content-Transfer-Encoding: 8bit \r\n"
. "\r\n\r\n"
. "Hello this is a test\r\n"
. "\r\n\r\n"
. "--$boundary\r\n"
. "Content-Transfer-Encoding: base64\r\n"
. "Content-Disposition: attachment; filename=\"$filename\"\r\n"
. "\r\n" . $attachment . "\r\n"
. "\r\n\r\n\r\n"
. "--$boundary--\r\n\r\n");
imap_append($mbox,$authhost,$msg);
imap_close($mbox);
}
else
{
echo "<h1>FAIL!</h1>\n";
}
?>
现在上面的原始代码正在运行,但我无法添加多个附件。在某些情况下,我得到消息体base64解码和消息体很多奇怪的字母。像
这样的东西R0lGODlhkAEfAOYAAPSeZPONtdSIu+u2vv/La+5Rj8AhYPvWhOjtkfvi7MRImcjYse5DM6O+dOnl .....
我在网上搜索我仍然没有运气。
由于我有专用服务器,我也试图实现一些procmail + postfix示例,但也没有运气。
有人可以帮忙吗?
答案 0 :(得分:1)
摆脱 - 来自你的边界线
. "--$boundary--\r\n\r\n"
应该是
. "$boundary\r\n\r\n"
您的标题中不需要 -