php send mail สอบถาม error ครับ ส่งเมล attach file แล้ว มี error ครับ
The file bjophotoshop-girls`generation.jpg has been uploaded
Warning: file_get_contents(C:\WINDOWS\TEMP\php2B.tmp) [function.file-get-contents]: failed to open stream : No such file or directory in H:\AppServ\www\upload.php on line 29
ส่งได้แล้ว
// ลอง ดู
Date :
2009-05-09 06:57:19
By :
mrAAA
โปรแกรมหาไฟล์ที่จะแนบไม่เจอน่ะครับ แค่แก้ path ไฟล์ให้ถูกต้องก็ได้แล้วครับ
Date :
2009-05-09 07:04:21
By :
webmaster
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP Sending Email</title>
</head>
<body>
<?
$strTo = "[email protected] ";
$strSubject = "Test Send Mail";
$strMessage = "My Body & <b>My Description</b>";
//*** Uniqid Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: Mr.Weerachai Nukitram<[email protected] >\nReply-To: [email protected] \n";
$strHeader .= "Cc: Mr.Surachai Sirisart<[email protected] >";
$strHeader .= "Bcc: [email protected] ";
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";
//*** Attachment Files ***//
$arrFiles[] = "thaicreate1.txt";
$arrFiles[] = "thaicreate2.txt";
$arrFiles[] = "thaicreate3.txt";
$arrFiles[] = "thaicreate4.txt";
$arrFiles[] = "thaicreate5.txt";
for($i=0;$i<count($arrFiles);$i++)
{
if(trim($arrFiles[$i]) != "")
{
$strFilesName = $arrFiles[$i];
$strContent = chunk_split(base64_encode(file_get_contents($strFilesName)));
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
$strHeader .= "Content-Transfer-Encoding: base64\n";
$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
$strHeader .= $strContent."\n\n";
}
}
$flgSend = @mail($strTo,$strSubject,null,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Email Sending.";
}
else
{
echo "Email Can Not Send.";
}
?>
</body>
</html>
Go to : PHP Sending Email Attachment Files
Date :
2011-06-09 21:58:58
By :
webmaster
ผมได้ลองนำสคริปต์ของ mr.win ไปลองเล่นดู ส่งได้ปกติครับ แต่ ไฟล์ที่แนบเสียหมดครับ เปิดไม่ได้เลย
Date :
2011-07-12 16:26:07
By :
mangkunzo
ได้ผลเป็นไงมั้งครับใช้ได้หรือเปล่า แจ้งด้วยนะครับ อยากรู้เหมือนกันว่าคนอื่นๆ เอาไปลองแล้วใช้ได้มั้ย
Date :
2011-07-13 08:51:50
By :
naskw
ผลลัพธ์ออกมาแล้วว......0 byte เช่นครับ 555+ ผมไม่แน่ใจพลาดตรงไหนรึป่าว
Code (PHP)
$to = "e-mail"; // ตรงนี้ผมใส่ e-mail ผู้รับครับ
$subject = "Test for Embedded Image & Attachement";
$sep = sha1(date('r', time()));// Create a boundary string. It needs to be unique
// Add in our content boundary, and mime type specification:
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/related; boundary=\"PHP-related-{$sep}\"; type=\"multipart/alternative\"\r\n";
// additional headers
$headers .= "To: You <e-mail>\r\n"; //ตรงนี้ผมใส่ e-mail ผมเอง
$headers .= "From: Me <e-mail>\r\n"; //ตรงนี้ผมใส่ e-mail ผมเอง
$inline = chunk_split(base64_encode(file_get_contents('filetest.txt')));
$body =<<<EOBODY
--PHP-related-{$sep}
Content-Type: multipart/alternative; boundary="PHP-alt-{$sep}"
--PHP-alt-{$sep}
Content-Type: text/plain;charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
This text in text plain mode.
--PHP-alt-{$sep}
Content-Type: text/html;charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3DUTF-8" http-equiv=3DContent-Type>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18854">
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=2 face=3DArial color=3Dred>this text in text html mode</FONT></DIV><BR>
</BODY>
</HTML>
--PHP-alt-{$sep}
--PHP-related-{$sep}
Content-Type: image/gif;name="filetest.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; //
Content-ID: <$sep>
{$inline}
--PHP-related-{$sep}
EOBODY;
/*
ตรงนี้ผมใส่ ini_set SMTP ของที่ทำงานน่ะครับ มันส่งได้ แต่ไฟล์มีขนาดเป็น 0 byte ครับ
*/// Finally, send the email
if(mail($to, $subject, $body, $headers))
{
echo "Send Email Complete";
}
else
{
echo "Cannot Send Email";
}
Date :
2011-07-13 09:14:37
By :
mangkunzo
แน่ใจว่ามีไฟล์ filetest.txt แล้ว
ให้คุณลองเปลี่ยน เป็นไฟล์ gif ดู
บรรทัดนี้
$inline = chunk_split(base64_encode(file_get_contents('filetest.txt')));
บรรทัดที่ 36 ด้วย
Content-Type: image/gif;name="filetest.txt"
เพราะว่า content-type มันเป็น image/gif แต่ถ้าเป้นไฟล์ text ไม่รู้เหมือนกันอะ 55+
หรืออาจจะเป็น text/plain ลองดูก่อน
Date :
2011-07-13 10:18:14
By :
naskw
ผมลองเอาโค้ดของคุณไปเทสแล้วก็ OK อยู่นา
Date :
2011-07-13 12:59:58
By :
naskw
ขอบคุณมากๆครับ
ผิดตรงนี้จริงๆ
Code (PHP)
Content-Type: image/gif;name="filetest.txt"
Date :
2011-07-19 11:17:12
By :
mangkunzo
Load balance : Server 03