Email Template তৈরি

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter এর Email Sending এবং Management |

CodeIgniter-এ ইমেইল পাঠানো একটি সাধারণ প্রক্রিয়া, তবে ইমেইল টেমপ্লেট তৈরি করার মাধ্যমে আপনি ইমেইলগুলোকে আরও সুসজ্জিত ও পেশাদার করে তুলতে পারেন। এই প্রক্রিয়ায়, আমরা কাস্টম ইমেইল টেমপ্লেট তৈরি করব এবং CodeIgniter এর বিল্ট-ইন Email Library ব্যবহার করে ইমেইল পাঠাব।


১. Email Library সেটআপ

CodeIgniter-এ ইমেইল পাঠানোর জন্য প্রথমে Email Library লোড করতে হয়। এটি সাধারণত ডিফল্ট কনফিগারেশনে থাকে।

Controller-এ 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;
        }
    }
}

২. Email Template তৈরি

Views ফোল্ডারে একটি ফোল্ডার তৈরি করুন email_templates নামে এবং তার মধ্যে একটি ফাইল তৈরি করুন welcome_email.php নামে। এই ফাইলটি আপনার ইমেইল টেমপ্লেট হবে।

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>
  • এখানে, আমরা HTML, CSS, এবং PHP কোড ব্যবহার করেছি। esc() ফাংশন CodeIgniter-এ ব্যবহারকারীর ইনপুট সেফ রাখে।
  • username এবং website পরিবর্তনশীল ব্যবহার করে Controller থেকে পাঠানো ডেটা টেমপ্লেটে যুক্ত করা হচ্ছে।

৩. Email Configuration

CodeIgniter-এ ইমেইল পাঠানোর জন্য app/config/Email.php কনফিগারেশন ফাইলটি কনফিগার করতে হবে, যদি আপনি SMTP ব্যবহার করতে চান।

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 ইমেইল ব্যবহার করা

যেহেতু আমরা একটি 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 এর ইমেইল লাইব্রেরি এবং টেমপ্লেট তৈরি করতে ভিউ ফাইল ব্যবহার করা হয়, যা সিস্টেমের নিয়মিত ইমেইল কমিউনিকেশনকে আরও কার্যকর এবং সুন্দর করে তোলে।

Content added By
Promotion