با سلام

ما به عنوان برنامه نویس زبان PHP گاهی لازم داریم تا از تابع mail زبان PHP برای ارسال ایمیل استفاده کنیم که متأسفانه به طور پیشفرض این تابع غیر فعاله و کار نمیکنه که مجبور میشیم تست های ارسال ایمیل رو روی سرور انجام بدیم که خب آپلود کد در هر لحظه از حوصله ما خارج میشه. ولی تو این آموزش میایم میگیم که چطور این مشکل رو برطرف کنیم و حتی در لوکال و از طریق سیستم خودمون با زبان PHP ایمیل ارسال کنیم. پس با ما همراه باشید…

برای ارسال ایمیل در Xampp دو راهکار اصلی وجود دارد:

و اما تفاوت راه استفاده از کلاس PHPMailer و فعال سازی تابع mail با استفاده از فایل sendmail.exe چیه؟

تفاوت اصلی رو میتونیم اینطور مطرح کنیم که اگه ما بخوایم از تابع mail در زبان PHP برای ارسال ایمیل استفاده کنیم دیگه نمیتونیم از کلاس PHPMailer بهره ببریم . باید با تنظیم و استفاده از فایل sendmail.exe تابع mail رو فعال کنیم که با این کار کلیه برنامه هایی که دارن از این تابع استفاده میکنن به راحتی ارسال ایمیل خودشون رو خواهند داشت. پس میری سراغ نحوه فعال سازی تابع mail با استفاده از sendmail.exe:

فعال سازی تابع mail با استفاده از sendmail.exe برای ارسال ایمیل

ابتدا فایل php.ini رو از مسیر C:\xampp\php\php.ini باز کنید:

از بخش [mail function] به دنبال sendmail_path بگردید. علامت ;  یا سمی کالن را از ابتدای آن بردارید چون این مسیر فایل اجرایی را که برای ارسال ایمیل از آن استفاده میکنیم معرفی می کند یعنی فایل sendmail.exe کد خط مربوطه پس از اصلاح می شود:

سپس ابتدای خطوط SMTP=localhost و smtp_port=25 علامت ; یا سمی کالن بذارید تا این خطوط غیر فعال یا کامنت بشن.

حالا بخش [mail function] باید کد زیر باشد:

اما این کار تنها کافی نیست و باید تنظیمات smtp ایمیل خودمون رو وارد کنیم بنا براین فایل تنظیمات sendmail رو از مسیر زیر باز میکنیم:

در این فایل باید این تنظیمات را انجام دهیم:

به جای youremail@gmail.com ایمیل خود و به جای yourpassword نیز گذرواژه خود را وارد کنید.

حالا آپاچی رو  restart کنین یه فایل PHP ایجاد و کدهای زیر رو داخلش بذارین و فایل رو باز کنین تا نتیجه رو ببینین:

با این پیکر بندی در هیچ سیستم مدیریت محتوایی مثل وردپرس، جوملا و دروپال دیگه نگران ارسال ایمیل نباشید.

 

 


 
ما مایلیم مطالب جدید را در کانال تلگرام به شما اطلاع دهیم.