লারাভেল ফ্রেমওয়ার্ক এর মাধ্যমে ইমেইল পাঠানোর নিয়ম
eMail পাঠাতে লারাভেল Framework নিয়ে কাজ করেছিলাম।
subscribers Table এর attribute/column গুলো হলো: id, email, status, created_at, updated_at.
এই Table এর email column এর ইমেইল এড্রেসগুলোতে eMail পাঠাতে হবে। চলুন শুরু করা যাক।
প্রথম ধাপঃ
প্রথমে যে Email Template টি পাঠাবেন সেই Template File টি বানাতে হবে।
তারপর Template File টি resources/views/emails/ServiceMail.blade.php ফোল্ডারে রাখুন।
ServiceMail.blade.php ফাইল:
Email Template
Greetings from web Email Seba update center.
For your kind awareness and assistance
web Email Seba has gathered following data. Please visit us for
more details :
{!! $data['body'] !!} Read More
We always work through our highest efforts for your betterment.
Stay safe and stay with us.
দ্বিতীয় ধাপঃ
eMail এর জন্য একটি মডেল Class ServiceMail.php ফাইল তৈরী করুন।
তারপর app/Mail/ServiceMail.php ফোল্ডারে রাখুন।
ServiceMail.php ফাইলঃ
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ServiceMail extends Mailable
{
use Queueable, SerializesModels;
public $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('emails.ServiceMail')->subject($this->data['sub'])->with($this->data);
}
}
তৃতীয় ধাপঃ
একটি Controller File যে Method থেকে eMail টি Execute করবেন সেই Method এ eMail এর জন্য Code লিখুন ।
তারপর app/https/Controllers/UserController.php ফোল্ডারে রাখুন।
UserController.php ফাইলঃ
প্রথমে File এর উপরে নেমস্পেস যুক্ত করুন
use App\Models\Subscribe;
use App\Mail\ServiceMail;
use Mail;
তারপর Method এর ভিতর নিচের Code লিখুন।
// Start sending email to subscribers
// receive text from form
$subject = $request->organization_name;
$des = $request->company_description;
$title = substr($des,0,100).' ...';
$body = $request->service_detail;
$slug = $service->slug; // for url link
$data = [
'sub' => $subject,
'title' => $title,
'body' => $body,
'slug' => $slug
];
// For Single Email
// Mail::to('example@gmail.com')->send(new ServiceMail($data));
// for multiple email
$Subscribes = Subscribe::select('email')->get();
// dd($Subscribes);
foreach($Subscribes as $subscribe)
{
$subscriber_email = $subscribe->email;
Mail::to($subscriber_email)->send(new ServiceMail($data));
}
// return url
return redirect()->route('services-list')->with('success','Service Add successfully');
// End sending email to subscribers
শেষ ধাপ:
এই ধাপ এ .env file এ আপনি যে eMail থেকে eMail পাঠাবেন তার username, password অন্তর্ভুক্ত করতে হবে।
Example:
MAIL_DRIVER=smtp
MAIL_HOST=mail.domain_name.com
MAIL_PORT=25
MAIL_USERNAME=noreplay@example.com
MAIL_PASSWORD=password
MAIL_FROM_ADDRESS=noreplay@example.com
MAIL_FROM_NAME=Web-Email
MAIL_ENCRYPTION=
# MAIL_ENCRYPTION=null
# MAIL_FROM_ADDRESS=null
# MAIL_FROM_NAME="${APP_NAME}"
ধন্যবাদ
https://www.mcqpractice.com/auth/index.php?page=../proverbs/article-details.php&id=82&t=লারাভেল-ফ্রেমওয়ার্ক-এর-মাধ্যমে--ইমেইল-পাঠানোর-নিয়ম