فرم ارسال اطلاعات
برای این کار یه فرم ساده طراحی کردیم که شامل ۴ تا فیلد برای نام،ایمیل،موضوع و متن درخواست هستش
قالب HTML
خوب برای قالب html ایمیل هم طبق فیلد هایی که در فرم داریم یه طرح ساده رو آماده کردیم.
کدهای php
خوب نوبت میرسه به کدهای php برای ارسال ایمیل،در اکشن فرمی که طراحی کردیم یه فایل php با نام mailer.php قرار میدیم تا اطلاعات فرم به این فایل ارسال بشه کد های فایل mailer.php به این صورت قرار میگیرن.
$headers = ‘From: no-reply@domain.com’. “\r\n” .
‘MIME-Version: 1.0’ . “\r\n” .
‘Content-type: text/html; charset=utf-8’ . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();
return mail(“Admin<admin_email@domain.com>”,”درخواست جدید در وب سایت”, $html, $headers);
}
در ابتدای کار چک میکنیم فرم ارسال شده باشه و بعدشم فیلد های ارسالی رو دریافت کردیم با تابع htmlspecialchars ورودی های html کاربر رو خنثی میکنیم و بعدشم تابع sendEmail رو که خودمون نوشتیم با پارامتر های مناسب فرخوانی میکنیم و نتیجه رو نشون میدیم.
در پایین تر تابع sendMail رو تعریف کردیم،در ابتدای کار اون قالب html که طراحی کردیم رو توسط دستورات buffer دریافت کردیم و داخل متغییر html ذخیره کردیم (استفاده ازدستورات بافر برای این کار بهینه تر هستش) و اون اطلاعاتی که کاربر فرستاده رو با متغییر های لازم در قالب با استفاده از تابع str_replace عوض کردیم.نکته اصلی کار اینجاست که تابع mail توانایی پذیرفتن header های دلخواه برای ارسال ایمیل رو داره ما هم اومدیم و چند تا هدر مناسب برای ارسال ایمیل تنظیم کردیم تا اعلان کنیم که محتوای ما html هستش و هم چنین مقدار فیلد From رو هم توسط همین هدرها تنظیم کردیم.
خوب در نهایت تابع mail رو با مقادیر لازم فرخوانی کردیم و چون نتیجه ای مقدار bool هست اونو به عنوان نتیجه تابع sendMail خودمون return کردیم.