با توجه به نیازهای یک نرمافزار تحت وب، وجود یک سیستم ارتباطی مناسب در سایت کمک بسیار بزرگی در روند ارتباطی کاربران و مدیران وبسایت دارد. برای مثال به کمک ایمیل میتوان کاربر را از تغییرات باخبرکرد و یا حتی میتوان امینت وبسایت را ارتقا داد. برای جلوگیری از ثبتنام کاربران نامعتبر و یا رباتها، استفاده از یک سیستم ارسال ایمیل اهمیت زیادی دارد. در این مطلب با کتابخانه PHPMailer آشنا میشویم و به یک مثال عملی در قالب ویدئو، درباره آموزش ارسال ایمیل با phpmailer میپردازیم.
قبل از هر چیز میخواهیم به شما دوره جامع آموزش php را معرفی کنیم ، دوره ای که توسط دکتر لقمان آوند تهیه شده است و به سادگی میتوانید متخصص php شوید.
PHP چیست؟
PHP یکی از بهترین و محبوبترین زبانهای برنامهنویسی وب در جهان است. Syntax ساده و روان PHP یادگیری این زبان را برایتان شیرین و لذتبخش میکند و به دلیل چند سکویی بودن (Cross Platform) در سیستمعاملهای مختلف اجرا میشود. کاربرد اصلی PHP در برنامهنویسی سمت سرور سایتها است، اما در سایر بخشها دیگر مانند برنامهنویسی بکاند اپلیکیشن های موبایل، ساخت Rest API و غیره نیز استفاده میشود.
PHPMailer چیست؟
ارسال ایمیل بهطور مستقیم با کدهای PHP نیازمند آشنایی با پروتکلهای SMTP است و ممکن است مشکلاتی به بار بیاورد. در زبان PHP راههای زیادی برای ارسال ایمیل وجود دارد و بهعنوانمثال میتوان از توابع داخلی PHP استفاده کرد که البته پیچیدگیهای خاص خود را دارد. اما استفاده از کتابخانههای PHP ویا بهعبارتدیگر پکیجها، میتواند سرعت انجام پروژه و کارایی را بهبود دهد.
یکی از کتابخانههای محبوب و متنباز PHP برای ارسال ایمیل کتابخانه PHPMailer است. این کتابخانه بهراحتی در سیستمهای مدیریت محتوایی (CMS) مانند وردپرس کار میکند و مورداستفاده بسیاری از توسعهدهندگان PHP است.
چرا از PHPMailer استفاده کنیم؟
بهجای استفاده از این کتابخانه میتوان از یکی از توابع PHP به نام mail() استفاده کرد. اما این تابع برای کار کردن به سیستم ایمیل سرور نیاز دارد که در زمان ایجاد تغییرات مشکلاتی ایجاد میکند. اگر هم از یک محیط محلی (development environment) برای توسعه کدها استفاده کنید اصلاً اجازه انجام تغییرات در سیستم سرور را ندارید. مسئله بعدی این است که با استفاده از این تابع توانایی استفاده از چند پیکربندی را بهطور همزمان ندارید. مثلاً امکان استفاده از چند اکانت SMTP و جابجایی بین آنها وجود ندارد.
تابع mail برای ارسال یک ایمیل معمولی مناسب است اما اگر نیاز به ارسال یک فایل غیرمتنی یا کار پیچیدهتری باشد کارایی چندانی ندارد. درحالیکه PHPMailer بهراحتی با اضافه کردن چند خط کد امکان ارسال چنین ایمیلهایی را فراهم میکند.
آموزش ارسال ایمیل به کمک کتابخانه phpmailer
در این آموزش قصد داریم از کتابخانه محبوب PHPMailer برای ساخت یک سیستم ارسال ایمیل در قالب یک سیستم پشتیبانی استفاده کنیم. از مزیتهای این پکیج میتوان بهسادگی در استفاده، شیء گرا بودن، قابلیت مدیریت پکیج به کمک Composer و غیره اشاره کرد.
شاید برای شما پیش آمده باشد که نیاز داشته باشید کاربران سایت با مدیر یا یکی از ادمینها در ارتباط باشند. در این ویدئو به شما آموزش میدهیم که چگونه هنگامی که کاربر صفحه تماس با ما را پر میکند، با استفاده از ایمیل یک پل ارتباطی بین او و مدیر سایت برقرار شود. شرایط لازم برای مثال عملی در آموزش ارسال ایمیل با phpmailer:
یک برنامه نویس پرتلاش
یک کامپیوتر و یا لپ تاپ با حداقل امکانات سخت افزاری
نرم افزار Wamp و یا Xampp ( اگر از لینوکس استفاده میکنید به کمک ترمینال Tasksel را نصب کنید وسپس با انتخاب LAMP میتوانید مسیر را ادامه دهید)
یک ویرایشگر (متنند Vscode )
یک مرورگر استاندارد برای دیدن خروجی .
UI برای زیبایی پروژه ( میتوانید از CodePen یک UI خوب پیداکنید )
یک GMail معتبر برای تنظیمات PHPMailer
جمع بندی
امیدواریم این مثال از آموزش ارسال ایمیل با php برای شما کاربردی باشد. PHP زبان محبوبی است که استفاده از آن در بسیاری از پروژهها در حال گسترش است. اگر قصد یادگیری برنامهنویسی یا کار کردن در این حوزه را دارید آموزش PHP میتواند اقدام مناسبی برای رسیدن به شغل دلخواهتان باشد. برای مشاهده سرفصلهای لازم برای آموزی PHP میتوانید اینجا را ببینید.
۹ دیدگاه
۱۰ خرداد ۱۴۰۲، ۲۲:۳۰
سلام سورس کد این برنامه رو از میشه ورداشت چون از قالب اماده استفاده میشه لطف راهنمایی میکنید
نازنین کریمی مقدم۲۴ خرداد ۱۴۰۲، ۰۶:۴۱
درود
متاسفانه امکان قراردادن سورس کد رو نداریم و باید گام به گام با ویدیو پیش برید.
۲۸ اردیبهشت ۱۴۰۱، ۰۸:۱۱
من هرکاری کردم
username , password با اینکه درست بود ارور میداد {Could not authenticate.}
نازنین کریمی مقدم۲۸ اردیبهشت ۱۴۰۱، ۱۴:۴۵
درود
<a href="https://stackoverflow.com/questions/3949824/smtp-error-could-not-authenticate-in-phpmailer" target="_blank" rel="noopener nofollow ugc">این لینک</a> رو بررسی کنید امیدوارم مشکلتون زودتر رفع بشه.
Shahram۱۳ مهر ۱۴۰۰، ۱۲:۰۷
سلام ببخشید مفید بود.
اما مدرس گرامی خیلی مکث میکردن بین حرفاشون طوری که با سرعت ۲ ثانیه دیدم.
البته بخشهای مربوط به phpmailer هم توضیح ندادن.
نازنین کریمی مقدم۱۳ مهر ۱۴۰۰، ۲۱:۵۱
درود
از همراهی شما ممنونیم و سعی میکنیم در ویدیوهای بعدی به نکاتی که گفتید توجه داشته باشیم.
amir۰۹ دی ۱۳۹۹، ۲۰:۳۷
سلام. آموزش اصلا خوب نبود، خیلی از بخشها رو کامل توضیح ندادین و ما نتونستیم خروجی بگیریم. بیخود وقت و اینترنت حروم کردیم برای دانلود این کلیپ !!
نازنین کریمی مقدم۱۰ دی ۱۳۹۹، ۱۲:۰۸
درود.
هرجایی که متوجه نشدید بفرمایید، ما براتون بیشتر توضیح میدیم.
کاظمی زاده۲۴ فروردین ۱۳۹۹، ۰۹:۲۳
سلام.من هرچی تلاش میکنم subject ایمیلم رو فارسی نمیشناسه و حروف عجیب غریب میده
شروع رایگان یادگیری برنامه نویسی
کلیک کنید 👇
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: