누구든지 내게 서버에서 파일을 첨부하고 전자 메일을 통해 첨부 파일로 보내는 방법을 알려줄 수 있습니까 ?? 나는 다음과 같은 코드가 있습니다서버에서 파일을 전자 메일로 첨부하십시오.
<?php
// Read POST request params into global vars
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];
// Obtain file upload vars
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from";
if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain 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" .
$message . "\n\n";
// Base64 encode the file data
// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" . "--{$mime_boundary}--\n";
}
// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Mail sent! Yay PHP!</p>";
} else {
echo "<p>Mail could not be sent. Sorry!</p>";
}
?>
을하지만,이 코드는 서버에서 파일을 첨부하지 않습니다. 도와주세요 .. 미리 감사드립니다 !! !!
서버에있는 파일을 추가하는 코드는 어디에 있습니까? 파일을 업로드했는지 여부에 관계없이 _is_uploaded_file_로 확인하십시오. 따라서 서버에서 파일을 추가 할 수 없습니다. –
안녕 lspcity .. !! Thnk u 님, 도와 주셔서 감사합니다 .. !! 글쎄, 문제가 해결되었습니다 .. 이전에 서버에 파일을 업로드하는 중이었습니다 .. 파일을 데이터베이스에 삽입하고 첨부 파일로 메일을 보낼 때 문제가 해결되었습니다. 코드는 다음과 같습니다. $ sql12 = "draft *에서 select * where path = '$ path'"; \t \t \t \t \t \t \t $ result = mysql_query ($ sql12); \t \t \t \t \t $ curr_file = mysql_fetch_assoc ($ result); $ fileatt_size = $ curr_file [ 'File_Size']; $ fileatt_type = $ curr_file [ 'File_Type']; $ fileatt_name = $ curr_file [ 'File_Name']; $ data = $ curr_file [ 'File_Content']; Thnk u so mch again ... !! –