CodeIgniter-এ ইমেইল পাঠানো একটি সাধারণ প্রক্রিয়া, তবে ইমেইল টেমপ্লেট তৈরি করার মাধ্যমে আপনি ইমেইলগুলোকে আরও সুসজ্জিত ও পেশাদার করে তুলতে পারেন। এই প্রক্রিয়ায়, আমরা কাস্টম ইমেইল টেমপ্লেট তৈরি করব এবং CodeIgniter এর বিল্ট-ইন Email Library ব্যবহার করে ইমেইল পাঠাব।
CodeIgniter-এ ইমেইল পাঠানোর জন্য প্রথমে Email Library লোড করতে হয়। এটি সাধারণত ডিফল্ট কনফিগারেশনে থাকে।
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use CodeIgniter\Email\Email;
class EmailController extends Controller {
public function sendEmail() {
// Email Library লোড করুন
$email = \Config\Services::email();
// ইমেইল কনফিগারেশন
$email->setFrom('your_email@example.com', 'Your Name');
$email->setTo('recipient_email@example.com');
$email->setSubject('Test Email from CodeIgniter');
// Email Body তৈরি করা
$body = view('email_templates/welcome_email', [
'username' => 'John Doe',
'website' => 'https://www.example.com'
]);
$email->setMessage($body);
// ইমেইল পাঠানো
if ($email->send()) {
echo 'Email sent successfully!';
} else {
$data = $email->printDebugger();
echo $data;
}
}
}
Views ফোল্ডারে একটি ফোল্ডার তৈরি করুন email_templates
নামে এবং তার মধ্যে একটি ফাইল তৈরি করুন welcome_email.php
নামে। এই ফাইলটি আপনার ইমেইল টেমপ্লেট হবে।
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Our Website</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 0;
}
.email-container {
width: 100%;
max-width: 600px;
margin: 0 auto;
background-color: #ffffff;
padding: 20px;
border-radius: 5px;
border: 1px solid #ddd;
}
.email-header {
background-color: #007bff;
color: white;
text-align: center;
padding: 10px;
border-radius: 5px 5px 0 0;
}
.email-body {
padding: 20px;
}
.email-footer {
text-align: center;
color: #777;
font-size: 12px;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="email-container">
<div class="email-header">
<h2>Welcome to Our Website!</h2>
</div>
<div class="email-body">
<p>Hello <?= esc($username); ?>,</p>
<p>Thank you for joining our community! We're excited to have you on board. You can visit our website anytime at <a href="<?= esc($website); ?>"><?= esc($website); ?></a>.</p>
<p>If you have any questions or need assistance, feel free to reach out.</p>
</div>
<div class="email-footer">
<p>© <?= date('Y'); ?> Our Website. All Rights Reserved.</p>
</div>
</div>
</body>
</html>
esc()
ফাংশন CodeIgniter-এ ব্যবহারকারীর ইনপুট সেফ রাখে।username
এবং website
পরিবর্তনশীল ব্যবহার করে Controller থেকে পাঠানো ডেটা টেমপ্লেটে যুক্ত করা হচ্ছে।CodeIgniter-এ ইমেইল পাঠানোর জন্য app/config/Email.php
কনফিগারেশন ফাইলটি কনফিগার করতে হবে, যদি আপনি SMTP ব্যবহার করতে চান।
public $fromEmail = 'your_email@example.com';
public $fromName = 'Your Name';
public $SMTPHost = 'smtp.mailtrap.io'; // আপনার SMTP সার্ভারের হোস্ট
public $SMTPUser = 'your_smtp_username';
public $SMTPPass = 'your_smtp_password';
public $SMTPPort = 587;
public $SMTPTimeout = 60;
এটি আপনার SMTP সার্ভারের সাথে ইমেইল পাঠানোর জন্য কনফিগার করা হয়েছে।
যেহেতু আমরা একটি HTML ইমেইল টেমপ্লেট তৈরি করেছি, সেহেতু আমরা setMailType()
ফাংশন ব্যবহার করে ইমেইলটির কনটেন্ট টাইপ HTML করতে পারি।
$email->setMailType('html');
এটি নিশ্চিত করবে যে, ইমেইলটি HTML ফরম্যাটে পাঠানো হচ্ছে।
$email = \Config\Services::email();
$email->setFrom('your_email@example.com', 'Your Name');
$email->setTo('recipient_email@example.com');
$email->setSubject('Welcome to Our Website!');
$email->setMessage(view('email_templates/welcome_email', [
'username' => 'John Doe',
'website' => 'https://www.example.com'
]));
$email->setMailType('html');
if ($email->send()) {
echo 'Email sent successfully!';
} else {
echo 'Failed to send email.';
}
এই কোডটি welcome_email.php
টেমপ্লেট থেকে HTML ইমেইল তৈরি করে এবং তা পাঠিয়ে দেয়।
CodeIgniter-এ Email Template তৈরি করা সহজ এবং এটি ইমেইল টেমপ্লেটিংয়ের জন্য HTML ব্যবহার করে ইমেইলগুলোকে আরও পেশাদার এবং আকর্ষণীয় করে তোলে। ইমেইল পাঠানোর জন্য CodeIgniter এর ইমেইল লাইব্রেরি এবং টেমপ্লেট তৈরি করতে ভিউ ফাইল ব্যবহার করা হয়, যা সিস্টেমের নিয়মিত ইমেইল কমিউনিকেশনকে আরও কার্যকর এবং সুন্দর করে তোলে।
Read more