۰۲-دى-۱۳۹۲, ۱۰:۱۹:۵۴
تابع ارسال ایمیل پی اچ پی”()mail” نه تنها میتواند ایمیلهای متنی ارسال کند، بلکه میتواند ایمیلهای Html نیز ارسال نماید. که در صفحه مستندات نحوه کار آن توضیح داده شده است.
در این مطلب تابعی برای ارسال ایمیل Html نوشته شده است که شبیه به تابع ایمیل php بوده و کار را بسیار راحت تر میکند.
ساختار تابع بالا بسیار شبیه به ساختار تابع اصلی ایمیل “()mail” در php نوشته شده است تا بتوان به راحتی همانند قبل از آن استفاده کرد. پارامتر چهارم (options$) دیگر برای اطلاعات هدر نیست، ولی در داخل تابع برای تنظیمات و پارامترهای دیگر مانند نام ارسال کننده و … استفاده شده است.
در زیر مثالی از نحوه استفاده تابع بالا نوشته شده است:
بنابراین تمام تغییراتی که لازم است شما در کد php اعمال کنید، نوشتن تابع بالا در اسکریپت php تان و تغییر تابع “()mail” به تابع “()html_mail” و تبدیل متنهای ساده به فرمت Html است.
این تابع برای اسکریپتهایی که وظایفی را انجام داده و برای اطلاع رسانی وضعیت فعلی، ایمیل ارسال میکنند مناسب است. به عبارت دیگر این تابع برای کسانی که میخواهند از آن فقط در حد ارسال ایمیل Html بهره مند شوند و امکانات بیشتری نیاز ندارند پیشنهاد میشود.
از این روش نمیتوان به راحتی برای سایر امکانات ایمل مانند ارسال فایل پیوست و یا استفاده از یک SMTP سرور خاص استفاده کرد. اگر شما نیاز دارید که از امکانات پیشرفته ارسال ایمیل بهره ببرید، بهتر است از کتابخانه های توسعه یافته ارسال ایمیل مانند Phpmailer استفاده کنید.
در این مطلب تابعی برای ارسال ایمیل Html نوشته شده است که شبیه به تابع ایمیل php بوده و کار را بسیار راحت تر میکند.
کد php:
function html_mail($to, $subject, $message, $options)
{
if(isset($options['from_name']))
{
$headers = "From: " . $options['from_name'] . "<".$options['from_email'].">" . "\r\n";
}
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
//$headers .= "CC: someone@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
}
در زیر مثالی از نحوه استفاده تابع بالا نوشته شده است:
کد php:
$to = 'tahmasebi.f@gmail.com';
$subject = 'Welcome to website';
$from_name = 'Daskhat';
$from_email = 'no-reply@daskhat.ir';
$message = '<html><body>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Foad Tahmasebi</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>tahmasebi.f@gmail.com</td></tr>";
$message .= "<tr><td><strong>Location:</strong> </td><td>Internet</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
html_mail($to, $subject, $message, array('from_email' => $from_email, 'from_name' => $from_name));
این تابع برای اسکریپتهایی که وظایفی را انجام داده و برای اطلاع رسانی وضعیت فعلی، ایمیل ارسال میکنند مناسب است. به عبارت دیگر این تابع برای کسانی که میخواهند از آن فقط در حد ارسال ایمیل Html بهره مند شوند و امکانات بیشتری نیاز ندارند پیشنهاد میشود.
از این روش نمیتوان به راحتی برای سایر امکانات ایمل مانند ارسال فایل پیوست و یا استفاده از یک SMTP سرور خاص استفاده کرد. اگر شما نیاز دارید که از امکانات پیشرفته ارسال ایمیل بهره ببرید، بهتر است از کتابخانه های توسعه یافته ارسال ایمیل مانند Phpmailer استفاده کنید.