یه کلاس خوب php برای ارسال ایمیل

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

یک تابع به صورت پیش فرض برای ارسال ایمیل با php وجود داره ، تابع mail که خیلی هم کار باهاش راحته و می تونید با دادن متغیرهای ایمیل ، به راحتی ایمیل مورد نظرتونو ارسال کنید . به عنوان مثال اگه من یه ایمیل با موضوع تست و متن سلام به آدرس me@jentelman.com با تابع mail بخوام بفرستم به شکل زیر می نویسم :

<?php
$to = “me@jentelman.com”;
$subject = “تست”;
$message = “سلام”;
mail($to,$subject,$message);
echo “ایمیل ارسال شد !”;
?>

اما مشکلی که این تابع داره اینه که وابسته به تنظیمات ایمیل apache هست و از سروری که توی apache تعریف شده ایمیل ها رو ارسال می کنه . یعنی شما اگه یه سایت خدماتی خیلی ساده روی یه هاست بخواین راه بندازین و از این تابع برای ارسال ایمیل استفاده کنید آدرس فرستنده ی ایمیل آدرسی هست که روی apache تعریف شده و اگه به تنظیمات سرور دسترسی نداشته باشید نمی تونید آدرس فرستنده رو طوری تغیر بدید که گیرنده ی ایمیل آدرس ایمیل شما رو به عنوان فرستنده ببینه !

مشکل دیگه ای که این تابع پیش فرض داره اینه که ایمیل ها رو به شکل متن ارسال می کنه و نمی شه به ایمیل استایل و یا حالت خاصی داد . مثلن اگه شما بخواین فونت ایمیلتون چیز دیگه ای باشه و یا اندازه ی متن توی بعضی جاها عوض شده باشه و یا هر استایلی که بخواید ایمیلتون داشته باشه ، با این تابع نمی شه و کدهای html رو هم به شکل متن ارسال می کنه !

چند تا کلاس برای رفع این مشکلات و ارسال یه ایمیل خوب برای php نوشته شده که به نظرم بهترین کلاسی که دیدم phpmailer هست و خیلی سبک و خوبه . با این کلاس شما می تونید ایمیل ها رو با شکل و ظاهری که دوست دارید بفرستید و روی لوکال هاست هم بدون تغیرات توی apache می تونید ایمیلتون رو ارسال کنید .

  • قبل از شروع ایمیل فرستنده رو مشخص می کنیم :

فرض کنید من می خوام ایمیل هامو با آدرس me@jentelman.com بفرستم . اول از همه باید از یه سرور خوب برای ارسال ایمیل استفاده کنم که بهترینش به نظرم جیمیل هست . ما قصد داریم جیمیل رو این وسط واسطه قرار بدیم تا ایمیل ها رو به وسیله ی سرورهاش با آدرس me@jentelman.com به مقصد برسونه . اما حالا چرا جیمیل رو انتخاب کردم و از سروری که سایتم روشه کمک نمی گیرم ، به این دلایل :

  • محدودیتی که روی هاست ها برای ارسال ایمیل وجود داره معمولن ۱۰۰ ایمیل در روزه ! ولی جیمیل می تونه تا ۵۰۰ ایمیل در روز رو ارسال کنه .
  • جیمیل ایمیل ها رو رمزنگاری شده می فرسته و امنیت کاربرها هم حفظ می شه .
  • اگر تایید دومرحله ای جیمیلتون فعال باشه لازم نیست توی این کلاس پسورد اصلی ایمیلتون رو بنویسید و امنیت ایمیلتون حتا اگر سایتتون هک بشه حفظ می شه و کسی نمی تونه به پسورد ایمیلتون دسترسی داشته باشه .
  • و…

قبل از کار با کلاس باید ایمیل فرستنده رو بسازید و به جیمیلتون وصلش کنید . برای این کار توی سی پنل روی Email Accounts کلیک کنید و ایمیل مورد نظرتونو بسازید که من به عنوان مثال ایمیل me@jentelman.com رو می سازم . بعد باید این ایمیل رو به جیمیلتون وصل کنید که من مراحل اتصالش رو نمی گم و می تونید اینجا و یا اینجا روش اتصالش رو ببینید .

وقتی ایمیلتون رو به جیمیل وصل کردید همه چی آمادست و نوبت به کلاس phpmailer می رسه . این کلاس رو می تونید از توی گوگل کد دانلود کنید ، ولی اگه به گوگل داک دسترسی ندارید می تونید اون رو از اینجا دانلود کنید . بعد از دانلود ، فایل ها رو از حالت فشرده خارج کنید و فایل های class.phpmailer.php و class.pop3.php و class.smtp.php رو توی یک فولدر کنار فایل های سایتتون قرار بدید . فرض کنید من این ۳ فایل رو توی فولدر phpmailer ریختم و توی کد مثالمم می خوام از این فولدر بازش کنم .

حالا برای استفاده از این کلاس توی صفحه ی مورد نظرمون از کد زیر استفاده می کنیم :

<?php
require(‘phpmailer/class.phpmailer.php’);
$mail=new PHPMailer();
$mail->CharSet = ‘UTF-8’;
$body = ‘<P dir=rtl><FONT size=2 face=”tahoma”>سلام !</FONT></P>’;
$mail->IsSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Username = ‘jentelman’;
$mail->Password = ‘123456’;
$mail->From = ‘me@jentelman.com’;
$mail->FromName = ‘jentelman’;
$mail->Subject = ‘تست’;
$mail->MsgHTML($body);
$mail->AddAddress(test@yahoo.com, ‘کامران’);
if($mail->Send())
echo ‘ایمیل ارسال شد !’;
else
echo ‘ایمیل ارسال نشد !’;
?>

توی کد بالا همونطور که می بینید اول کلاس رو صدا زدیم و همونطور که گفتم چون من کلاس رو توی فولدر phpmailer ریختم از اونجا صداش کردم . خط دوم و سوم هم یک ایمیل جدید به صورت UTF-8 ساختیم که از فارسی هم پشتیبانی کنه ، توی خط چهارم متغیر body رو متن ایمیلمون تعریف کردیم و همونطور هم که می بینید توی متن ایمیل از کدهای html استفاده کردم که با یه استایل خاصی ایمیلم ارسال بشه . خط های بعدی کد برقرار کردن ارتباط با سرورهای جیمیل هست و مشخصات SMTP و پورت جیمیل رو وارد کردیم . مقابل متغیر Username همونجور که می بینید نام کاربری جیمیل و مقابل Password هم پسورد جیمیلمون رو می نویسیم . یه نکته ی مهم اینجا وجود داره و اونم اینکه حتمن تایید دو مرحله ای جیمیل رو فعال کنید ( چه جوری فعال کنیم ؟! ) وقتی که تایید دو مرحله ای فعال باشه می تونید برید اینجا و یک پسورد جدید بسازید و از اون پسورد توی کلاس استفاده کنید ، اینجوری پسورد اصلی جیمیلتون در امانه و احتمال هک ایمیلتون در صورت هک شدن سایت وجود نداره !

در مقابل From و FromName ، ایمیل و اسم فرستنده رو تعریف کردیم . همونطور که توی مراحل قبل دیدید اول ایمیل me@jentelman.com رو به جیمیل متصل کردیم و بعد می تونیم از این ایمیل به عنوان فرستنده استفاده کنیم . بعد هم موضوع ایمیل رو مشخص کردیم و متن ایمیل رو داخل تابع MsgHTML نوشتیم که با حالت مورد نظرمون ارسال بشه . در نهایت هم آدرس و اسم گیرنده ی ایمیل رو مشخص کردیم که من به عنوان مثال می خوام ایمیلم به آدرس test@yahoo.com که متعلق به کاربر کامران هست ارسال بشه .

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

این کلاس امکانات دیگه ای هم داره مثل پیوست کردن فایل به ایمیل و … که می تونید اینجا امکانات و مثال هاش رو ببینید .

من از وقتی که از این کلاس استفاده می کنم خیلی راحتم و مشکلی با ارسال ایمیل توی php ندارم و کارام راحت تر شده ، اگه کلاس های بهتری رو سراغ دارید خوشحال می شم که معرفی کنید .

به اشتراک بگذارید
یه ایده ی خوب …

بعضی وقتا یه ایده اونقدر خوب می شه که حتا شاید خالقش هم فکر نمی کرد ایدش اینقدر مورد استقبال قرار بگیره ! مثلن شاید هزار تا بازی اعتیاد آورتر و گرافیکی تر از پرندگان خشمگین وجود داشته باشه ولی ایده ی اون بازی به قدری جدید و جالب بود که خالقش رو در عرض چند ماه پولدار کرد . یا مثلن سایت فیس بوک و خیلی سایت ها و بازی ها و اپلیکیشن های دیگه .

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

  • ایده باید جدید باشه

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

  • نوآوری ابتکار

سعی کنید توی ایدتون نوآوری رو حفظ کنید و از نمونه های داخلی یا خارجی تقلید نکنید . داشتن نوآوری توی یه ایده خیلی مهمه . اگه یه ایده قبلن ارایه شده باشه و موفق نبوده باشه ممکنه فرد دیگه ای با ارایه اون ایده و اضافه کردن یه سری نوآوری به اون موفقیت زیادی پیدا کنه . مثلن قبل از به وجود اومدن فیسبوک شبکه های اجتماعی دیگه ای هم وجود داشت ولی دلیل پیشرفت فیس بوک نسبت به بقیه ی اون سایت ها داشتن نوآوری هایی مثل بازی های آنلاین و صفحاتش بود .

اصلن چرا راه دور بریم همین سایت یاهو یه مدت رقیب سرسخت گوگل بود و با هم رقابت زیادی داشتن ، ولی گوگل با نوآوری هایی که داشت و خدمات جدید و زیادی که ارائه کرد یاهو رو کنار زد و الان یاهو چندان قابل رقابت با گوگل نیست .

  • جنبه هاب بصری

جنبه های بصری در یک ایده کمک زیادی به موفقیتش می کنه . اگر اون ایده یه سایت یا اپلیکیشن باشه باید از نظر گرافیکی خیلی ساده و جذاب باشه . یه ایده هر چقدر هم خوب باشه ولی از نظر طراحی سطح خیلی پایینی داشته باشه مورد استقبال زیادی قرار نمی گیره و برعکس ، اگرم خیلی شلوغ و رنگ و وارنگ باشه جوری که اصلن به محتوا ربطی نداشته باشه باز هم چیز جالبی نمی شه . مثلن سایت گوگل ابزارهاش رو خیلی ساده طراحی می کنه و محصولاتش خیلی سبک و سریعن ولی در عین حال با رنگ بندی خوبی که انجام می ده جلوه ی خاصی داره و در عین سادگی خیلی خوش رنگ و لعابه .

سعی کنید همیشه سادگی و سبکی ایدتون رو حفظ کنید و در کنارش با رنگ بندی جذاب طرفداران زیادی جذب کنید .

  • استفاده از آخرین تکنولوژی ها

همیشه سعی کنید به روز باشید و توی طرح هاتون از آخرین تکنولوژی های دنیا استفاده کنید . به روز بودن خیلی به شما کمک می کنه تا ایدتون مورد استقبال زیادی قرار بگیره . مثلن با اومدن html5 کروم و فایرفاکس برای پشتیبانی از این زبون با هم رقابت کردن تا هر کدوم مرورگری بسازن که بیشترین پشتیبانی رو از اون زبون کنه که البته هر دوتاشون در یک سطح بالا اومدن و رقیبی مثل اینترنت اکسپلورر رو تقریبن دارن کنار می زنن .

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

به اشتراک بگذارید
با ویروس کدباز monda ، شما هر کسی رو می تونید هک کنید !

امروز توی یه سایت خارجی درباره ی ویروس جدید monda می خوندم که برام خیلی عجیب و جالب بود . توی اون مقاله درباره ی ویروس monda و راه های مقابله با اون مفصل نوشته بود و نکته ی جالبش اینه که این ویروس به صورت کد باز ( open source ) در اختیار مردم قرار گرفته ! یعنی فایل اجرایی ویروس و مدیریتش رو هر کسی می تونه دریافت کنه و با اون هر کسی رو هک کنه !

monda اصلن چی هست ؟

ویروس monda که کمتر از ۱ هفته از پیدایشش می گذره وقتی وارد سیستم می شه اول از همه به صورت مخفیانه وبکم رو روشن می کنه و تصویر زنده ی فرد رو برای هکر می فرسته و هکر می تونه طعمش رو ببینه و زیر نظر بگیره !

وقتی طعمه برای لحظاتی از پای سیستم بلند شه ، هکر با دیدن این صحنه دست به کار می شه و این کارها رو می تونه انجام بده :

  • به صورت مانیتورینگ وارد سیستمش بشه و تمام فایل هاشو دستکاری کنه
  • با زدن یه دکمه فن CPU رو از کار بندازه تا سیستم مدام ریست بشه و CPU آسیب ببینه
  • درایو ویندوز رو به طور کامل فرمت کنه
  • پسورد ایمیل ، فیسبوک و … رو سرقت کنه
  • و هزار تا کار دیگه …

یکی از امکانات خیلی وحشتناک این ویروس دیدن تصویر وبکم وقتیه که کامپیوتر خاموشه ! شاید بگید مگه می شه ؟ ولی برنامه نویس monda با زیرکی کاری کرده که وقتی طمه سیستم رو خاموش کرد فقط فن ها و چراغ های داخل کیس از کار بیفتن و در اصل کیس به کار خودش ادامه می ده ! یعنی به نظر کیس خاموش میاد ولی در اصل روشنه و هکر هم تصویر وبکم رو داره و هم می تونه هر کاری که می خواد بکنه !

اما حالا باید چی کار کرد ؟

در حال حاضر متاسفانه هیچ آنتی ویروسی موفق نشده monda رو شناسایی و نابود کنه و تنها راه مقابله با اون قطع کردن وبکم هست . اگر از سیستم های خونگی و ثابت استفاده می کنید و وبکمتون به کیس وصله اون رو از کیس جدا کنید و در مواقع ضروری وصلش کنید و ازش استفاده کنید . اگر لپ تاپ دارید باید متاسفانه از خیر وبکم لپ تاپتون بگذرید و اون رو به نمایندگی ببرید تا وبکم رو از روش باز کنه . چون این ویروس به قدری پیشرفتست که به محض اینکه کوچکترین اتصال وبکمی رو شناسایی کنه دست به کار می شه و قطع کردن و پاک کردن درایور وبکم به تنهایی کافی نیست !

خلاصه اینکه تا زمانی که این ویروس در اختیار همه می تونه باشه و آنتی ویروسی هم نمی تونه از بین ببرش باید وبکم رو بیخیال شید و فعلن ازش استفاده نکرد ! چون اگه ویروس وبکمی رو شناسایی نکنه فعالیتی نداره و سیستمتون در امانه .

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

» دانلود monda + فایل راهنما

به اشتراک بگذارید
ایمیلتون رو توی کادر زیر وارد کنید و عضو خبرنامه ی جنتلمن بشید تا همیشه آخرین مطالب رو توی ایمیلتون بخونید :
اگه نمی خواید از طریق ایمیل جنتلمن رو دنبال کنید راه های دیگه ای هم برای اشتراک هست !
آرشیو ماهانه
برچسب ها
لینک های خوشمزه