【发布时间】:2015-09-30 02:01:38
【问题描述】:
我真的需要你的帮助。请在下面找到我的代码:
if (isset($_FILES['file']) and $_FILES['file'] <> '') { // Jika email disertai attachment
$crlf = "\n";
$headers['MIME-Version'] = '1.0';
$headers['Content-Type'] = 'text/html; charset="UTF-8';
$headers['Content-Transfer-Encoding'] = 'base64\r\n';
$headers['Date'] = date('r', $_SERVER['REQUEST_TIME']);
$headers['Message-ID'] = $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) . '@' . $_SERVER['SERVER_NAME'];
$headers['From'] = "do-not-reply@sbm-itb.ac.id";
$headers['To'] = $to;
$headers['Subject'] = $subject;
$mime = new Mail_mime(array('eol' => $crlf));
$mime->setHTMLBody($body);
foreach($_FILES['file']['tmp_name'] as $key => $value){
$file_name = $_FILES['file']['name'][$key]; //nama file (tanpa path)
$tmp_name = $_FILES['file']['tmp_name'][$key]; //nama local temp file di server
$file_type = $_FILES['file']['type'][$key]; //tipe filenya (langsung detect MIMEnya)
$fp = fopen($tmp_name, 'r');
$content = fread($fp, filesize($tmp_name));
$content = addslashes($content);
fclose($fp);
$data = chunk_split(base64_encode($content));
//$mime->addAttachment($tmp_name, $file_type);
$mime->addAttachment($data, $file_type);
}
$body = $mime->get();
$headers = $mime->headers($headers);
我已成功发送我的 HTML 文本邮件。但是,没有我上传的附件。我上面的代码有什么问题?
谢谢。
【问题讨论】:
-
我已经尝试使用 $mime->addAttachment($tmp_name, $file_type) 并且所有附件都已成功发送。但是,文件名不显示为真实的文件名。例如:php505.tmp.
标签: php email pear mime email-attachments