ปรึกษา ส่งอีเมลล์พร้อมแนบไฟล์ไม่ได้ค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
levelone
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

ปรึกษา ส่งอีเมลล์พร้อมแนบไฟล์ไม่ได้ค่ะ

โพสต์โดย levelone » 08/05/2008 2:25 am

คือมือใหม่หัดเขียนค่ะ ในส่วนของการส่งอีเมลล์ทำโดยแบ่งออกมาเป็น4ไฟล์คือ
หน้าฟอร์ม
หน้าโค้ดsend_mail
หน้าAttachfile_mail
หน้าเช็คอีเมลล์
ปัญหาคือเวลาส่งเมลล์จะมาเพียงข้อความ แต่ถ้าแนบไฟล์รูปด้วยมันจะส่งมาแต่รูปแต่ข้อความหายหมดค่ะไม่ทราบว่าผิดตรงไหนกันแน่ค่ะ
อันนี้เป็นโค้ดsend_mailนะค่ะ
<?php require_once('checkemail.inc.php'); ?>
<?php require_once('sendmail_attachfile.php'); ?>

<?
$to = trim($_POST["to"]);
$subject = trim($_POST["subject"]);
$mailfrom = trim($_POST["mailfrom"]);
$from = trim($_POST["from"]);
$phone = trim($_POST["phone"]);
$contact = trim($_POST["contact"]);
$message = trim($_POST["message"]);

$message = "From: $from\r\n".$message;
$message = "Phone: $phone\r\n".$message;
$message = "Contact: $contact\r\n".$message;

check_email($to);
check_email($mailfrom);



if (!empty($_FILES["file"]["name"])){
//Attach file
$filetmp = $_FILES["file"]["tmp_name"];
$filename = $_FILES["file"]["name"];
$filetype = $_FILES["file"]["type"];

sendmail_attachfile($from,$to,$mailfrom,$subject,$message,$filetmp,$filename,$filetype);

}else{

//Non Attach file
$header = "From: $mailfrom\n";


if (mail($to,$subject,$message,$header)){
echo "Send mail to $to --> OK<br>";
}else{
echo "Send mail to $to --> <font color ='red'>Not Ok</font><br>";
}
}
?>

ส่วนอันนี้เป็นโค้ดที่หน้าattachfile_mail
<?
function sendmail_attachfile($from,$to,$mailfrom,$subject,$message,$filetmp,$filename,$filetype){
/* Move upload file */
$uploaddir = 'upload/';
$attachfile = $filename;

copy($filetmp, $uploaddir.$attachfile);

/* Encode File */
$file=$uploaddir.$attachfile;
$fp=fopen($file,"r");
$attachment=fread($fp,filesize($file));
$attachment=chunk_split(base64_encode($attachment));
fclose($fp);


/* additional headers */
$headers = "From: $from\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: $filetype; name=\"$attachfile\";\r\n";
$headers .="Content-Transfer-Encoding: base64\r\n";
$headers .="Content-Description: $attachfile\r\n";
$headers .="Content-Disposition: inline; filename=\"$attachfile\"\r\n\n";

$message =$attachment . "\r\n";


if (mail($to,$subject,$message,$headers)) {
echo "Mail delivery to $to<br>\n";
echo "sent mail OK";
}
}
?>
แถมช่วยหลังโดนhotmailแบนเป็นspamซะแล้วด้วย-*-

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 42 และ บุคคลทั่วไป 0 ท่าน