ارسال ایمیل Html با تابع “()mail” در php

daskhatmin فواد طهماسبی
14,120 بازدید
ایمیل Html

تابع ارسال ایمیل پی اچ پی”()mail” نه تنها میتواند ایمیلهای متنی ارسال کند، بلکه میتواند ایمیلهای Html نیز ارسال نماید. که در صفحه مستندات نحوه کار آن توضیح داده شده است.
در این مطلب تابعی برای ارسال ایمیل Html نوشته شده است که شبیه به تابع ایمیل 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);
}

ساختار تابع بالا بسیار شبیه به ساختار تابع اصلی ایمیل “()mail” در php نوشته شده است تا بتوان به راحتی همانند قبل از آن استفاده کرد. پارامتر چهارم (options$) دیگر برای اطلاعات هدر نیست، ولی در داخل تابع برای تنظیمات و پارامترهای دیگر مانند نام ارسال کننده و … استفاده شده است.
در زیر مثالی از نحوه استفاده تابع بالا نوشته شده است:

$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));

بنابراین تمام تغییراتی که لازم است شما در کد php اعمال کنید، نوشتن تابع بالا در اسکریپت php تان و تغییر تابع “()mail” به تابع “()html_mail”  و تبدیل متنهای ساده به فرمت Html است.
این تابع برای اسکریپتهایی که وظایفی را انجام داده و برای اطلاع رسانی وضعیت فعلی، ایمیل ارسال میکنند مناسب است. به عبارت دیگر این تابع برای کسانی که میخواهند از آن فقط در حد ارسال ایمیل Html بهره مند شوند و امکانات بیشتری نیاز ندارند پیشنهاد میشود.
از این روش نمیتوان به راحتی برای سایر امکانات ایمل مانند ارسال فایل پیوست و یا استفاده از یک SMTP سرور خاص استفاده کرد. اگر شما نیاز دارید که از امکانات پیشرفته ارسال ایمیل بهره ببرید، بهتر است از کتابخانه های توسعه یافته ارسال ایمیل مانند Phpmailer استفاده کنید.


منبع: binarytides

daskhatmin

فواد طهماسبی

فواد طهماسبی هستم، موسس وبسایت آموزشی دسخط. مهندسی نرم افزار خوندم و چندین سال تجربه کاری مرتبط با تکنولوژیهای توسعه وب دارم. علاقمند به ایده پردازی و توسعه کسب و کارهای اینترنتی هستم.

6 دیدگاه برای “ارسال ایمیل Html با تابع “()mail” در php”

  1. سجاد آسال گفت:

    با سلام
    خیلی وقت بود دنبال همچین کاری بودم
    بسیار بسیار بسیار سپاس گذارم از این پست خوبتون .

    با تشکر سجاد آسال

  2. مهدی گفت:

    با سلام داخل google می تونی jquery fileupload را جستجو کنید هرجاش مشکل داشتی می تونی ازم بپرسی !

  3. سعید گفت:

    سلام من میخوام هر کس که میاد تو سایت یا وبلاگم با زدن یکی از دکمه هایی که اونجا هست به من یه ایمیل بشه و هرچی تو اون صفحه نوشته شده توش باشه لطفا کمکم کنید. 

    1. فؤاد طهماسبی گفت:

      این مطلب رو بخونید:
      https://daskhat.ir/381/contact-us-form

  4. پ.ا گفت:

    سلام من یه کد HTML میخوام که یه فایلو از یه کامپیوتر بصورت خودکار برای ایمیل من ارسال کنه یا روی یه سرور آپلود کنه اگه ممکنه کمکم کنید خیلی ضروریه ممنوووون.

    1. فؤاد طهماسبی گفت:

      سلام،
      اگر منظورتون آپلود خودکار یک فایل که در کامپیوتر کاربر ذخیره شده، و آدرس اون رو دقیقا میدونید (مثلا: c:\file.txt) باید بگم، کدی که شما با این کاربری میخواهید به نظرم فقط با HTML نمیشه! و باید از PHP و یا تکنولوژی Ajax بهره ببرید.

دیدگاه‌های بیشتر

کد HTMLCSSJavaScriptPHP