1

我被这两天困住了。我正在尝试使用 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+ 后缀示例,但也没有运气。

有人可以帮忙吗?

4

1 回答 1

1

摆脱 -- 从你的边界线

. "--$boundary--\r\n\r\n"

应该

. "$boundary\r\n\r\n"

你不需要 -- 在你的标题中。

于 2012-06-18T15:28:47.967 回答