انجمن عمومی گسترش فناوری آگو
ارسال ایمیل همراه با فایل ضمیمه به وسیله PHP - نسخه‌ی قابل چاپ

+- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir)
+-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1)
+--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13)
+--- موضوع: ارسال ایمیل همراه با فایل ضمیمه به وسیله PHP (/showthread.php?tid=2300)



ارسال ایمیل همراه با فایل ضمیمه به وسیله PHP - agotd - 01-28-2014 02:26 PM

سلام
در این قسمت براتون یک تابع رو معرفی میکنم که خواهید دید چطور میشه با پی اچ پی ایمیل رو به همراه فایل ضمیمه ارسال کرد.

تابع زیر این کار رو برای شما انجام میده :

کد php:
function mail_attachment($filename$path$mailto$from_mail$from_name,  $subject$message) {
    
$file $path.$filename;
    
$file_size filesize($file);
    
$handle fopen($file"r");
    
$content fread($handle$file_size);
    
fclose($handle);
    
$content chunk_split(base64_encode($content));
    
$uid md5(uniqid(time()));
    
$name basename($file);
    
$header "From: ".$from_name." <".$from_mail.">\r\n";
    
$header .= "Reply-To: ".$from_mail."\r\n";
    
$header .= "MIME-Version: 1.0\r\n";
    
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    
$header .= "This is a multi-part message in MIME format.\r\n";
    
$header .= "--".$uid."\r\n";
    
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
    
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    
$header .= $message."\r\n\r\n";
    
$header .= "--".$uid."\r\n";
    
$header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"// use different content types here
    
$header .= "Content-Transfer-Encoding: base64\r\n";
    
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
    
$header .= $content."\r\n\r\n";
    
$header .= "--".$uid."--";
    if (
mail($mailto$subject""$header)) {
        echo 
"mail send ... OK"// or use booleans here
    
} else {
        echo 
"mail send ... ERROR!";
    }

برای استفاده از این تابع به صورت زیر عمل میکنیم :

کد php:
$my_file "file1.pdf";
$my_path $_SERVER['DOCUMENT_ROOT']."/myfiles/";
$my_name "raj";
$my_mail "info@domain.com";
$my_subject "Email Subject ";
$my_message "Refer the attached file.";
$to_email="to@domain.com";
 
mail_attachment($my_file$my_path$to_email$my_mail$my_name$my_subject$my_message);