ساخت و مدیریت خبرنامه ها در لاراول 5
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 3 دقیقه

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

در این آموزش شما میتونید نحوه ی افزودن لیست خبرنامه, مدیریت اعضا و فرستادن ایمیل به لیست ها رو با استفاده از 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 رو انتخاب کنید. بعد از انتخاب اسم و لیست موردنظرتون از بین قالب‌های مختلف میتونید قالب مورد نظرتون رو انتخاب و ویرایش کنید . حالا نوبت ارسال ایمیل سفارشی تون هست .

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
5 از 3 رای

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

۵ مقاله اخیر

۵ مقاله اخیر از این قسمت برای شما در دسترس است

مقالات برگزیده

مقالات برگزیده را از این قسمت میتوانید ببینید

مشاهده همه مقالات