منبع اصلی نوشتار زیر در این لینک قرار دارد

Mail catcher

همیشه لازم میشه که بخواید از طریق برنامه ایمیل بفرستید. مثلا برای تایید ثبتنام یا خیلی کارهای دیگه. من اکثرا با کمک یه سری ابزار (مثلا Swift_Mailer ) اینکار رو انجام میدم و وقتی که هنوز تو فاز development هستم، خروجی رو توی یک فایل میریزه برام.
منتها تجسم این خروجی یه کم سخته :)‌ اینه که گشتم دنبال یه راه حل و رسیدم به mailcatcher

خیلی ساده میتونید با کمک gem نصبش کنید :

gem install mailcatcher

یا اینکه اگر روی آرچ هستید از این پکیج که امروز ساختم براش استفاده کنید. بعد از نصبش، تنها کاری که لازمه انجام بدید اجرای برنامست :‌

mailcatcher

نتیجه میشه این :

Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.

و برای ارسال ایمیل هم از پورتی که میگه استفاده کنید (۱۰۲۵ به جای ۲۵) و میلهای ارسال شده رو هم توی آدرسی که میگه میتونید ببینید (پورت ۱۰۸۰ روی localhost )
حالا اگه از sendmail استفاده میکنید، میتونید با کمی تغییر توی php.ini ایمیلها رو از طریق این برنامه ارسال کنید که هم مطمئن شید ایمیل ارسال میشه و هم اینکه خروجی رو ببینید (و احتمالا از طریق fractal اونو برای همه کلاینتها بهینه کنید)

Mailcatcher web front

Mailcatcher web front


برای PHP کافیه که توی php.ini خط مربوط به sendmail رو تغییر بدید :

sendmail_path = /usr/bin/env catchmail

یا اینکه اگر از apache استفاده میکنید توی htaccess بنویسید :

php_value sendmail_path "/usr/bin/env catchmail"

خوب دیگه کار زیادی نمونده جز اینکه آپاچی یا php-fpm (هر کدوم که استفاده میکنید) رو ریستارت کنید.



برچسب ها : , , , , , , ,