عنوان مقاله :

ساخت و مدیریت خبرنامه ها در لاراول 5

گردآوری و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 21 تیر 1396
دسته بندی ها : لاراول

در این آموزش شما میتونید نحوه ی افزودن لیست خبرنامه, مدیریت اعضا و فرستادن ایمیل به لیست ها رو با استفاده از Api سرویس Mailchimp در فریمورک لاراول 5 فرا بگیرید. با استفاده از این سرویس میتونید چک کنید که مثلاً چه تعدادی از اعضای خبرنامه ایمیل هاشون رو باز کردن و خوندن, میتونید ایمیل‌ها رو با قالب دلخواه و به هرلیستی که بخواید ارسال کنید.

با وجود قابلیت‌های فراوانی که این سرویس داره استفاده ازش رو پیشنهاد می کنم.

قدم اول

چیزهایی که برای یک پروژه کوچک تستی نیاز داریم اول اینه که یک پروژه ساده لاراول داشته باشید. حالا نیاز به اکانت Mailchimp دارید پس با استفاده از این لینک وارد سایت Mailchimp بشید و بصورت رایگان عضو این سایت بشید.

قدم دوم

چندین پکیج برای استفاده از Api Mailchimp در لاراول وجود داره اما ما از پکیج spatie/laravel-newsletter استفاده می‌کنیم کامند زیر رو در مسیر پروژه ی تستی لاراول وارد کنید تا پکیج دانلود و نصب بشه :

composer require spatie/laravel-newsletter

بعد از نصب پکیج نوبت پیکربندی اون میرسه فایل config/app.php پروژه تون رو باز کنید و داخل بخش providers این خط رو اضافه کنید :

Spatie\Newsletter\NewsletterServiceProvider::class,

داخل بخش aliases هم کد زیر رو وارد کنید 

'Newsletter' => Spatie\Newsletter\NewsletterFacade::class,

برای اینکه فایل پیکربندی پکیج در مسیر app/config/laravel-newsletter.php کپی بشه کامند زیر رو وارد کنید :

php artisan vendor:publish --provider="Spatie\Newsletter\NewsletterServiceProvider"

این دستور یک فایل پیکربندی در مسیر config پروژه شما ایجاد میکنه.

قدم سوم

فایل مذکور رو از مسیر app/config/laravel-newsletter.php باز کنید. میتونید بصورت مستقیم در همین فایل یا اینکه در فایل env. در مسیر اصلی پروژه مقادیر لازم رو وارد کنید.  اولین متغیر به نام apiKey رو باید مقداردهی کنید. مقدار این key رو میتونید از این آدرس دریافت کنید.

مقدار دوم defaultListName نام دلخواه برای لیست پیشفرض شماست. مقدار بعدی شامل آرایه ای هست که لیست ها رو داره و کدش بصورت زیر هست :


            'subscribers' => [

                'id' => env('MAILCHIMP_LIST_ID'),

            ],

بصورت پیشفرض لیستی که Default تعریف شده بود رو وارد کرده و ما باید متغیر id رو به روش زیر مقداردهی کنیم :

وارد صفحه ی لیست ها شوید – منوی drop-down لیست مورد نظرتون رو بزنید و Setting رو انتخاب کنید

اگر کمی صفحه رو اسکرول کنید به List ID میرسید که همون چیزیه که ما دنبالش بودیم.

قدم چهارم

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


Newsletter::subscribe('rincewind@discworld.com');



Newsletter::unsubscribe('the.luggage@discworld.com');



//Merge variables can be passed as the second argument

Newsletter::subscribe('sam.vines@discworld.com', ['firstName'=>'Sam', 'lastName'=>'Vines']);



//Subscribe someone to a specific list by using the third argument:

Newsletter::subscribe('nanny.ogg@discworld.com', ['firstName'=>'Nanny', 'lastName'=>'Ogg'], 'Name of your list');



//Subscribe or update someone

Newsletter::subscribeOrUpdate('sam.vines@discworld.com', ['firstName'=>'Foo', 'lastName'=>'Bar']);



// Change the email address of an existing subscriber

Newsletter::updateEmailAddress('rincewind@discworld.com', 'the.luggage@discworld.com');



//Get some member info, returns an array described in the official docs

Newsletter::getMember('lord.vetinari@discworld.com');



//Get the member activity, returns an array with recent activity for a given user

Newsletter::getMemberActivity('lord.vetinari@discworld.com');



//Get the members for a given list, optionally filtered by passing a second array of parameters

Newsletter::getMembers();



//Returns a boolean

Newsletter::hasMember('greebo@discworld.com');



//If you want to do something else, you can get an instance of the underlying API:

Newsletter::getApi();

خب حالا میتونید با استفاده از دستورات ذکرشده مدیریت خبرنامه ها و اعضاشون رو انجام بدید پس برای نمونه کافیه یک فرم افزودن عضو قرار بدید و با متد پست مقدار ایمیل رو به کنترلر ارسال کنید و با استفاده از دستور زیر یک عضو جدید به خبرنامه اضافه کنید :

    public function addEmail(Request $request){

        if($request->email != "")

        Newsletter::subscribe($request->email);



        return back()->with('notification','شما با موفقیت عضو خبرنامه وبسایت شدید :)');

    }

قدم پنجم

برای مشاهده اعضای لیست خبرنامه به بخش List وبسایت Mailchimp مراجعه کنید و برای ارسال ایمیل همگانی به لیست مورد نظرتون براحتی میتونید از بخش campaigns دکمه create compaign رو بزنید و create an email رو انتخاب کنید. بعد از انتخاب اسم و لیست موردنظرتون از بین قالب‌های مختلف میتونید قالب مورد نظرتون رو انتخاب و ویرایش کنید . حالا نوبت ارسال ایمیل سفارشی تون هست .

مقالات پیشنهادی

چطور لاراول از وبسایت شما محافظت می کند؟

لاراول کمک میکنه تا امنیت وبسایت شما تامین بشه. در این مقاله می خواهیم نحوه برخورد لاراول با سه ریسک امنیتی مهم : نفوذ sql, جعل درخواست cross-site و ا...

بهینه سازی تصاویر در لاراول

بهینه سازی تصاویر میتونه به شدت کارایی وب سایت رو بالا ببره, و این یکی از معمول ترین چالش های توسعه دهندگان هست. گاهی تصاویر میتونند تا 50 درصد یا حتی...

میخواهم لاراول یاد بگیرم

در این مقاله کوتاه قصد دارم موضوعاتی که برای یادگیری لاراول برای شروع کار مورد نیاز هست رو برای شما بازگو کنم . اولین کاری که باید برای یادگیری لاراول...

فیلتر کردن نتایج query ها با شروط مختلف

شاید عنوان این مطلب برای شما کمی گیج کننده باشه ، اما بزارید براتون با یک مثال سادش کنم شما دارای لیستی از مشتری هستید و اونا رو با دستور Customer::al...

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
هیچ دیدگاهی تا به این لحظه برای این موضوع ثبت نشده است