عنوان مقاله :

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

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

ساخت پکیج لاراول ۵ - قسمت چهارم

برای قسمت چهارم این سری آموزش ها ما بحث migration و seeding رو در ساخت پکیج ها پوشش خواهیم داد. 

کمکی های جدید لاراول در نسخه 5.5

کمکی های جدید String دارند راهشون رو به سمت لاراول از طریق ریلیز بزرگ 5.5 پیدا می کنند.اینجا می خواهیم به چند نقطه برجسته در کلاس های کمکی String اخیر...

مدیریت رویدادها در لاراول

رویداد (Event) یک عمل یا اتفاقی هست که توسط برنامه سازماندهی شده که ممکنه توسط برنامه هم مدیریت بشه. رویدادهای لاراول بسادگی پیاده سازی می شوند. رویدا...

55 نمونه کامل که نشان دهنده الهام گرفتن از همه چیزه

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

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

برای ارسال نظر لازم است ابتدا وارد سایت شوید
juza66 | 2 ماه پیش

خیلی عالی، بسیار جالب بود، متشکرم