آموزش ارسال ایمیل در PHP با کتابخانه PHPMailer
سلام
ارسال ایمیل در هر اسکرپیتی که دارید طراحی میکنید، ضروری است مانند بخش فراموشی رمز عبور، رمز ورود دومرحله ای و …، در PHP یک تابع از پیش تعریف شده به نام ()mail وجود دارد که برای ارسال ایمیل به کار میرود، ولی به دلایلی که در ادامه توضیح میدهیم با این تابع ایمیل ارسال نمیکنیم و بجاش از کتابخانه ()PHPMailer استفاده می کنیم، در ادامه همراه بپرسم باشید.
تابع ()mail بهتر است یا ()PHPMailer ؟
اگر چه تابع ()mail که در PHP به صورت پیشفرض وجود دارد، کار با آن بسیار ساده می باشد ولی این تابع محدودیت هایی دارد که مهمترین آن این هست که سرور ارسال ایمیل را نمی توانیم مشخص کنیم و همین دلیل باعث میشود که اکثر ایمیل هایی که با این تابع ارسال میشود به قسمت SPAM(هرزنامه) ایمیل منتقل میشود. بخاطر چنین محدودیت هایی برنامه نویسان PHP کتابخانه ی ()PHPMailer را ایجاد کردند که با وجود توابع زیاد آن می توانیم، ایمیلی که میخواهیم ارسال کنیم را سفارشی سازی و با امنیت بیشتری ارسال کنیم.
دانلود کتابخانه ()PHPMailer
همانطور که از پیش گفتیم، کتابخانه phpmailer رایگان هست که میتوانید این کتابخانه را به صورت کامل از این لینک، دانلود کنید.
البته نیازی به دانلود کتابخانه به صورت کامل نیست، چرا که از تمامی کلاس های آن نمیخواهیم استفاده کنیم(البته با توجه به نیاز شما متفاوت می باشد)، در پایان آموزش سورس + کتابخانه مورد نیاز را میتوانید دانلود کنید.
توسط این کتابخانه از هر سروری میتوانیم ایمیل ارسال کنیم، سرور Gamil,Yahoo,Outlock و …، ولی اگر هاست دارید پیشنهاد میکنم از اطلاعات SMTP خود برای ارسال ایمیل استفاده کنید.
آموزش ارسال ایمیل با phpmailer
پس از دانلود کامل کتابخانه PHPMailer با کلاس های زیادی رو به رو میشید، که فقط به دو کلا phpmailer و smtp نیاز داریم(که با توجه به نیاز شما ممکن است به کلاس های دیگری هم نیاز داشته باشید)، ولی ما برای ارسال ایمیل به همین دو کلاس بیشتر نیاز نداریم.
اگر به انتهای آموزش مراجعه کنید، سورس و دو کلاس class.phpmailer.php و class.smtp.php را برای دانلود قرار دادیم؛ که با Include کردن همین دو کلاس در صفحه خود میتوانید ایمیل ارسال کنید!
قطعه کد زیر را نگاه کنید، با اجرای همین قطعه کد، ایمیل شما ارسال میشود:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ |
<?php include "class.phpmailer.php"; include "class.smtp.php"; // تنظیمات سرور $mail=new PHPMailer(true); $mail->isSMTP(); $mail->Host = 'SMTP HOST'; $mail->Username = 'SMTP User'; $mail->Password = 'SMTP Pass'; $mail->SMTPAuth=true; $mail->port=۲۵; // تنظیمات ارسال ایمیل $mail->setFrom("beporsam@gmail.com","بپرسم"); $mail->addAddress("beporsam@gmail.com"); $mail->CharSet= "UTF-8"; $mail->Subject="سلام"; $mail->ContentType="text/html"; $mail->msgHTML("این ایمیل برای امتحان ارسال ایمیل می باشد، این ایمیل از طرف سایت بپرسم ارسال شده است"); $mail->send(); if(!$mail->send()) { echo "خطا: ایمیل ارسال نشد " . $mail->ErrorInfo; } else { echo "ایمیل شما با موفقیت ارسال شد"; } ?> |
توضیحات:
- خط ۱ و ۲: در این دو خط دو کلاس مربوطه که بهش نیاز داریم را فراخوانی کردیم.
خط ۶ تا ۱۲ که مربوط به تنظیمات سرور ارسال ایمیل میباشد.
- خط ۸: آدرس سرور ارسال ایمیل را بنویسید.
- خط ۹: نام کاربری سرور ارسال ایمیل را بنویسید.
- خط ۱۰: رمز سرور ارسال ایمیل را بنویسید.
اگر از سرور جیمیل ارسال میکنید؛ مشخصات به این صورت خواهد بود(که بجای آدرس ایمیل و رمز عبور، باید مشخصات جیمیل خودتون رو وارد کنید):
۱ ۲ ۳ ۴ ۵ |
$mail->Host = 'smtp.gmail.com'; $mail->Username = 'beporsam@gmail.com'; $mail->Password = '۱۲۳۴'; $mail->SMTPAuth=true; $mail->port=۵۸۷; |
اگر از هاست خودتون میخواید ایمیل ارسال کنید، به این صورت خواهد بود(در خط ۱ باید آدرس سایت خود، در خط ۲ آدرس ایمیل و در خط ۳ رمز ایمیل را بنویسید):
۱ ۲ ۳ ۴ ۵ |
$mail->Host = 'mail.beporsam.ir'; $mail->Username = 'info@beporsam.ir'; $mail->Password = '۱۲۳۴'; $mail->SMTPAuth=true; $mail->port=۲۵; |
خط ۱۵ تا ۲۱ که مربوط به تنظیمات ارسال ایمیل می باشد
- خط ۱۵: آدرسی که ایمیل از آن ارسال میشود را میتوانید بنویسید(هر آدرس ایمیلی میتواند باشد).
- خط ۱۶: آدرس گیرنده ایمیل.
- خط ۱۷: کدینگ ایمیل.
- خط ۱۸: موضوع ایمیل.
- خط ۱۹: نوع محتوای ایمیل.
- خط ۲۰: محتوای پیام.
- خط ۲۱: هم که ایمیل ارسال میکند.
در خط ۲۳ تا ۳۰ هم که شرط گذاشتیم، اگر ایمیل ارسال نشد خطای مربوطه را چاپ کند و اگر ارسال شد پیام موفقیت آمیز چاپ کند.
ارسال ایمیل با این تابع بسیار ساده میشود، در پایان سورس آموزش را دریافت کنید و طبق توضیحات بالا مشخصات را تغییر دهید و در سرور اجرا کنید؛ تا نتیجه را مطالعه کنید.
این قسمت از آموزش نیز به پایان رسید، هر مشکلی در رابطه با آموزش بالا داشتید، در بخش پرسش و پاسخ سایت میتوانید بپرسید.
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید