Hàm gửi Email với file đính kèm (Không lỗi Font Chữ)
Trên mạng share khá nhiều code gửi mail với đính kèm nhưng đa số toàn lỗi font hết nên mình share lại cho các bạn dùng. Dùng để gửi mail kích hoạt, hoặc vân vân...
Để dùng bạn gọi function ra.
Ví Dụ:
Lưu ý host bạn phải hỗ trợ function mail nhé
Nguồn: SinhThanh
<?php
function guimail($file, $mailto, $from_mail, $from_name, $replyto, $subject, $message) {
$ch = curl_init($file); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
//dung lượng tập tin
$handle = fopen($file, "r");
$content = fread($handle, $size);
fclose($handle);
$content = chunk_split(base64_encode($content));
//mở tập tin
$uid = md5(uniqid(time()));
$filename = basename($file);
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\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=utf-8\r\n";
//không lổi font tiếng việt
$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"; // Cho nhiều kiểu files
$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 "Gửi thành công rồi";
} else {
echo "Thất bại!";
}
}
?>
function guimail($file, $mailto, $from_mail, $from_name, $replyto, $subject, $message) {
$ch = curl_init($file); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
//dung lượng tập tin
$handle = fopen($file, "r");
$content = fread($handle, $size);
fclose($handle);
$content = chunk_split(base64_encode($content));
//mở tập tin
$uid = md5(uniqid(time()));
$filename = basename($file);
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\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=utf-8\r\n";
//không lổi font tiếng việt
$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"; // Cho nhiều kiểu files
$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 "Gửi thành công rồi";
} else {
echo "Thất bại!";
}
}
?>
Để dùng bạn gọi function ra.
Ví Dụ:
guimail('
http://2hi.biz/icon/Mail%20Open%202.png','sinhthanhvhf@gmail.com','admin@tlove.info','Sinh
Thanh','admin@tlove.info','Gửi mail với đính kèm','Code bởi SinhThanh.Name.Vn');
Lưu ý host bạn phải hỗ trợ function mail nhé
Nguồn: SinhThanh