Skip to main content

Command Palette

Search for a command to run...

ক্লাস নংঃ-৬

Updated
2 min read
ক্লাস নংঃ-৬

লারাভেল ই-মেইল নোটিফিকেশন

লারাভেল ই-মেইল নোটিফিকেশন প্যাকেজ।কিভাবে মেইল্ট্র্যাপ ব্যাবহার করে ইমেইল পাঠানো যায়,password reset করা যায়,এবং আমার প্রোজেক্ট এর কোন কাজ সম্পর্কে ইউজার কে ইনফরমেশন পাঠানোর জন্য কিভাবে আমরা নোটিফিকেশন বানাতে পারি এবং ইউজার কে সেটি পাঠাতেও পারি। এজন্য সেই মডেল এ $notifiable আছে কি না ভাল ভাবে দেখে নিতে হবে।ডিফল্টভাবে ইউজার মডেলে এই $notifiable টা রয়েছে।

তাহলে কিভাবে সেট করবেন আপনার মাইল্ট্র্যাপঃ

প্রথমেই আপনি mailtrap এর ওয়েবসাইটে গিয়ে যদি রেজিস্টার না করা থাকে তাহলে রেজিস্টার করে নেবেন।আর যদি রেজিস্টার করা থাকে লগিন করে নেবেন। এবং সেখানে একটি ইনবক্স তৈরি করবেন। এবার আপনার ইনবক্স এ ক্লিক করবেন এবং smtp settings এ গিয়ে একটা অপশন পাবেন cURL এখানে ক্লিক করে আপনার প্রজেক্ট এর জন্য বেছে নিন। যেহেতু আপনি লারাভেল এর জন্য করছেন তাই সেখানে লারাভেল সিলেক্ট করুন।

এবার দেখবেন কিছু কোড দেওয়া আছে সেগুলো কপি করুন এবং আপনার .env file এ MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null

এই কোড এর যায়গাতে replace করুন।

এবার আপনার প্রজেক্ট ব্রাউজারে ওপেন করুন এবং চেক করুন।

কিভাবে আপনার জন্য কাস্টম নোটিফিকেশন তৈরি করবেন।

প্রথমেই আপনার কমান্ড লাইনে গিয়ে php artisan make:notification notification_name এই কমান্ড টি রান করলে আপনার জন্য একটি নোটিফিকেশন তৈরি হবে।

এবার আপনি web.php file এ যাবেন এবং আপনি আপনার টেস্ট এর জন্য একটি রাউট তৈরি করবেন controller বাদে। //created test notification route Route::get('/notification-test',function(){

$user = \Illuminate\Support\Facades\Auth::user();

$user->notify(new PostCreated); return'ok'; });

এবার আপনি ব্রাউজারে রান করলে সেটি রান হবে।

কিভাবে আপনি আপনার ই-মেইল মডিফাই করবেনঃ

এরজন্য প্রথমেই আপনাকে আপনার যে notification class তৈরি করলেন সেখানে যাবেন। এবং সেখানে public function toMail($notifiable) { return (new MailMessage) ->subject('New Post Created!') ->line('The introduction to the notification.') ->action('Notification Action', url('/')) ->line('Thank you for using our application!'); }

এই ফাংশন এর মধ্যে আপনার প্রয়োজন মত মডিফাই করতে পারবেন। যেমন মেইলের subject:->subject('New Post Created!')

আরো বিস্তারিত ভাবে জানতে এই লিংকে গিয়ে পড়ে নিতে পারেনঃ https://laravel.com/docs/9.x/notifications

কিভাবে controller থেকে ডাটা পাঠাবেন আপনার ইমেইলেঃ

প্রথমেই ইউজার একটা variable এর মধ্যে ডেটা স্টোর করে রাখবেন এবং পরবর্তিতে user কে notify function এর মধ্যে নতুন করে ক্লাস নিয়ে তার মধ্যে আপনি $post variable er object কে পাঠিয়ে দেবেন।অবশ্যই মনে রাখবেন এটা যেন ঠিক ভাবে দিতে পেরেছেন। $user = Auth::user(); $user->notify(new PostCreated($post));

এরপর আপনার কাস্টম মেইলে গিয়ে একটা পাল্বিক প্রপারটি তৈরি করবেন। public $post; আপনার constructor এ ডেটা recive করবেন এবং পরবর্তিতে ডেটা সেট করবেন। public function __construct($post) { $this->post = $post; }

এবং ফাইনালি আপনার মেইল মডিফিকেশন করবেন।

public function toMail($notifiable) {

return (new MailMessage)

->subject('New Post Created')

->line('The introduction to the notification.')

->action('Click here to view the post', route('edit-post', $this->post->id)) ->line('Thank you for using our application!');

}

এটা ই-মেইল নোটিফিকেশন এর ব্যাসিক ক্লাস advance and standard class আমাদের ই-মেইল দিয়ে নেওয়া হবে।

happy learning

___Rakibul Islam___

More from this blog

We discuss basic routing

বেসিক রাউটিং সফটওয়্যার আর্কিটেকচারে রাউট হচ্ছে মৌলিক উপাদান(Basic Component). রাউট URL(URL = Uniform Resource Locator) থেকে অনুরোধ গ্রহণ করে এবং এপ্লিকেশনকে রিসোর্সের জন্য নির্দেশনা প্রদান করে। লারাভেলের রাউট সমূহ একই সাথে সুবিন্যস্ত করে রাখার জন্য r...

Jun 1, 20233 min read

Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

এখন কোডিংয়ের স্পীড হবে রকেটের গতি যদি আপনি ব্লগটি পড়েন এবং শর্টকাট ব্যবহার করেন তাহলে চলুন শুরু করি। Visual Studio Code এডিটর কি-বোর্ড শর্টকার্টঃ MAC ও WINDOWS এর জন্য আলাদা কি-বোর্ড শর্টকাট নিচে দেওয়া হল- Visual Studio Code এর কমান্ড পেলেট কিভাবে ওপ...

Jun 1, 20233 min read
Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

WordPress Support Engineer Input Field And Form

আজকে আমরা আলোচনা করব আমাদের WordPress Support Engineer Course এর ক্লাস ২ নিয়ে এবং আমাদের টপিক হলো html input fields. ইনপুট ফিল্ডে বিভিন্ন রকম টাইপ রয়েছে এর মধ্যে default html,html-5,iput type="text" ইত্যাদি। তো চলুন শুরু করি ।প্রথমেই আমরা আলোচনা করব ...

May 7, 20233 min read

Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস

সবার প্রথমে আমাদের একটা Directory বানাতে হবে। আপনার Project এর নাম দিয়ে একটি Directory বানিয়ে ফেলুন। এরপর যেকোনো একটা Terminal ব্যবহার করে এই Directory তে ঢুকুন। npm install -D tailwindcss autoprefixer vite এই কমান্ড Terminal-এ দিবো। এক্সট্রা হিসেবে...

Apr 3, 20232 min read
Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস
S

Shikhun Blog

96 posts