سلامی به بلندی دماوند سلامی به شکوه سهند، خب از این چرت و پرتا بگذریم :/ سلام به کاربرای همیشه بیدار این وب با عرض تبریک و تهنیت سال نو و آرزوی صبر و شکیبایی در این ایام سخت. (راستی تهنیت رو اگه اشتباه نوشتم بگین) بگذریم. توو این پست قصد کردم که ارسال ایمیل با php رو بگم.
برای ارسال ایمیل با php راه های زیادی هست که راحت ترین راهش به نظرم از طریق تابع mail هه که توو این پست هم با این تابع می نویسیم.
خب این تابع رو باید با چند تا آرگومان فراخوانی کنید. مثلاً:
<?phpخب، اگه یوقت نتونستین با تابع mail ایمیل ارسال کنید، یا فایل php.ini تنظیم نیست یا سرور هاستتون، ارسال ایمیل رو محدود کرده :(
//دریافت کننده ایمیل
$to = "username@example.com";
//موضوع ایمیل
$subject = "ایمیل ساده";
//متن پیام
$body = "سلام، \n\n این ایمیل جهت تست ارسال شد!";
//سربرگ های اضافه
$headers = "From: yourname@example.com";
//فراخوانی تابع و ارسال ایمیل
if (mail($to, $subject, $body, $headers)) {
echo("<p>ایمیل با ارسال شد</p>");
}
else {
echo("<p>خطا در ارسال ایمیل! تنظیمات سرور از این امکان پشتیبانی نمی کنه</p>");
}
?>
<?phpعلامت r/n/ توو کدهای بالا برای ایجاد کردن یه خط جدیده.
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'X-Mailer: php' . "\r\n";
$headers .= 'Reply-To: username@example.com' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'Cc: Admin@example.com' . "\r\n";
$headers .= 'Bcc: Other@example.com' . "\r\n";
?>
<?phpبه طور مثال:
$headers = 'Content-type: text/html; charset=utf-8' . "\r\n";
?>
<?php
//دریافت کننده ایمیل
$to = "username@example.com";
//موضوع
$subject = "ارسال ایمیل به صورت html";
//متن پیام به صورت html
$body = "<html>
<body>
سلام، \n\n این ایمیل جهت<b> تست </b>ارسال شد !
</html>
</body>";
//سربرگ ها
$headers = "From: yourname@example.com \r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";
//ارسال ایمیل
if (mail($to, $subject, $body, $headers)) {
echo("<p>ایمیل با موفقیت ارسال شد</p>");
}
else {
echo("<p>خطا در ارسال ایمیل! تنظیمات سرور از این امکان پشتیبانی نمی کنه</p>");
}
?>
<?php
//دریافت کننده ایمیل
$to = "username@example.com";
//ارسال کننده ایمیل
$from = "yourname <yourname@example.com>";
//موضوع
$subject = "ارسال ایمیل به همراه ضمیمه";
//کد رندوم boundary
$randcode = md5("r",time());
//خط جدید
$line = "\r\n"; //یا PHP_EOL
//فایل ضمیمه
$filename = "phpbook.zip";
//تجزیه و آماده سازی فایل برای ارسال
$attachment = chunk_split(base64_encode($filename));
//سربرگ ها
$headers = "From: ".$from.$line;
$headers .= "MIME-Version: 1.0".$line;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$randcode."\"";
//متن پیام به صورت ساده
$body = "--".$randcode.$line;
$body .= "Content-Transfer-Encoding: 7bit".$line.$line;
$body .= "این یک ایمیل به همراه ضمیمه است".$line;
//متن پیام به صورت html
$body .= "--".$randcode.$line;
$body .= "Content-Type: text/html; charset=\"utf-8\"".$line;
$body .= "Content-Transfer-Encoding: 8bit".$line.$line;
$body .= "این یک ایمیل به همراه <b>ضمیمه</b> است".$line;
//تنظیمات فایل ضمیمه
$body .= "--".$randcode.$line;
$body .= "Content-Type: application/zip; name=\"".$filename."\"".$line;
$body .= "Content-Transfer-Encoding: base64".$line;
$body .= "Content-Disposition: attachment".$line.$line;
$body .= $attachment.$line;
$body .= "--".$randcode."--";
//ارسال ایمیل
if (mail($to, $subject, $body, $headers)) {
echo("<p>ایمیل شما ارسال شد.</p>");
}
else {
echo("<p>خطا در ارسال ایمیل! تنظیمات سرور از این امکان پشتیبانی نمی کنه</p>");
}
?>
<?phpخب، اینم از مبحث ارسال ایمیل با php اگه مشکلی چیزی بود در خدمتیم :)
//تابع نمایش نوع فایل
function my_mime_content_type($filename){
$mime_types = array(
//files
'txt' => 'text/plain',
'htm' => 'text/html',
'html' => 'text/html',
'php' => 'text/html',
'css' => 'text/css',
'js' => 'application/javascript',
'json' => 'application/json',
'xml' => 'application/xml',
'swf' => 'application/x-shockwave-flash',
'flv' => 'video/x-flv',
//images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'svg' => 'image/svg+xml',
'svgz' => 'image/svg+xml',
//archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
'exe' => 'application/x-msdownload',
'msi' => 'application/x-msdownload',
'cab' => 'application/vnd.ms-cab-compressed',
//audio/video
'mp3' => 'audio/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'mpeg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'mpg' => 'video/mpeg',
'wav' => 'audio/wav',
'aiff' => 'audio/aiff',
'aif' => 'audio/aiff',
'avi' => 'video/msvideo',
'wmv' => 'video/x-ms-wmv',
//adobe
'pdf' => 'application/pdf',
'psd' => 'image/vnd.adobe.photoshop',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
//ms office
'doc' => 'application/msword',
'docx' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
//open office
'odt' => 'application/vnd.oasis.opendocument.text',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
);
$ext = strtolower(array_pop(explode('.',$filename)));
if (array_key_exists($ext, $mime_types)) {
return $mime_types[$ext];
}
else {
return 'application/octet-stream';
}
}
//آدرس فایل
$filename = 'image/file.gif';
//خروجی
echo my_mime_content_type($filename);
?>
از این چرت و پرت ها بگذریم خیلی باحال بود :)