Email Sending mail() Function and PHPMailer

ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ইমেইল পাঠানোর দরকার পড়ে প্রায় সবসময়। যেমন –
রেজিস্ট্রেশনের পর কনফার্মেশন মেইল
পাসওয়ার্ড রিসেট লিঙ্ক
নিউজলেটার বা নোটিফিকেশন
PHP-তে ইমেইল পাঠানোর জন্য সাধারণত দুইটি জনপ্রিয় উপায় আছে:
PHP mail() ফাংশন ব্যবহার করা
PHPMailer লাইব্রেরি ব্যবহার করা
আজ আমরা দুইটি নিয়েই বিস্তারিত আলোচনা করবো।
১️. PHP mail() Function দিয়ে ইমেইল পাঠানো
PHP-তে ইমেইল পাঠানোর জন্য সবচেয়ে সহজ ফাংশন হলো mail()। এর বেসিক সিনট্যাক্স হলো:
mail(to, subject, message, headers, parameters);
to → যাকে মেইল পাঠানো হবে (Receiver Email Address)
subject → ইমেইলের বিষয়
message → ইমেইলের মূল কনটেন্ট
headers → অতিরিক্ত ইনফো যেমন
From,Reply-To,CC,BCCইত্যাদিparameters → (Optional) সার্ভারের জন্য অতিরিক্ত প্যারামিটার
উদাহরণ:
<?php
$to = "example@gmail.com";
$subject = "টেস্ট ইমেইল PHP থেকে";
$message = "হ্যালো! এটি একটি টেস্ট ইমেইল যা PHP mail() ফাংশন দিয়ে পাঠানো হয়েছে।";
$headers = "From: admin@yourdomain.com";
if(mail($to, $subject, $message, $headers)) {
echo "ইমেইল সফলভাবে পাঠানো হয়েছে!";
} else {
echo "দুঃখিত, ইমেইল পাঠানো যায়নি!";
}
?>
mail() ফাংশনের সমস্যা:
অনেক সার্ভারে এটি কাজ নাও করতে পারে (যেমন – লোকালহোস্ট বা শেয়ার্ড হোস্টিং)।
Gmail, Yahoo এর মত ইমেইল সার্ভিস প্রোভাইডারগুলো অনেক সময় এই ধরনের ইমেইল স্প্যাম ফোল্ডারে পাঠিয়ে দেয়।
SMTP অথেনটিকেশন সাপোর্ট করে না।
👉 তাই Professional Application-এ সাধারণত PHPMailer ব্যবহার করা হয়।
২️. PHPMailer ব্যবহার করে ইমেইল পাঠানো
PHPMailer হলো একটি জনপ্রিয় PHP লাইব্রেরি, যা SMTP Authentication সহকারে নিরাপদভাবে ইমেইল পাঠাতে সাহায্য করে। এটি Gmail, Yahoo, Outlook সহ প্রায় সব ইমেইল সার্ভিসের সাথে কাজ করে।
ধাপ-১: PHPMailer ইনস্টল করা
Composer ব্যবহার করে:
composer require phpmailer/phpmailer
অথবা GitHub থেকে ডাউনলোড করা:
ধাপ-২: কোড উদাহরণ
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
//Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; // Gmail SMTP Server
$mail->SMTPAuth = true;
$mail->Username = 'your_email@gmail.com'; // আপনার ইমেইল
$mail->Password = 'your_app_password'; // Gmail App Password
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
//Recipients
$mail->setFrom('your_email@gmail.com', 'Your Name');
$mail->addAddress('receiver_email@gmail.com', 'Receiver Name');
//Content
$mail->isHTML(true);
$mail->Subject = 'টেস্ট ইমেইল PHPMailer থেকে';
$mail->Body = '<h2>হ্যালো!</h2><p>এটি একটি <b>টেস্ট ইমেইল</b> যা <u>PHPMailer</u> ব্যবহার করে পাঠানো হয়েছে।</p>';
$mail->AltBody = 'এটি একটি টেক্সট ভার্সন।';
$mail->send();
echo 'ইমেইল সফলভাবে পাঠানো হয়েছে!';
} catch (Exception $e) {
echo "ইমেইল পাঠানো যায়নি। Error: {$mail->ErrorInfo}";
}
?>
mail() বনাম PHPMailer
| বিষয় | mail() | PHPMailer |
| সহজতা | খুব সহজে ব্যবহার করা যায় | একটু সেটআপ প্রয়োজন |
| সিকিউরিটি | কম | বেশি (SMTP, SSL/TLS) |
| স্প্যাম ফোল্ডার সমস্যা | অনেক বেশি | তুলনামূলক কম |
| HTML ইমেইল | বেসিক সাপোর্ট | Full HTML, Attachment, Inline Image ইত্যাদি |
| প্রফেশনাল অ্যাপ্লিকেশন | উপযুক্ত নয় | সবচেয়ে বেশি ব্যবহৃত |
👉 ছোটখাটো টেস্ট বা ডেমোর জন্য mail() ব্যবহার করা যেতে পারে।
👉 তবে Professional বা Production লেভেল প্রজেক্টে সবসময় PHPMailer ব্যবহার করা উত্তম।
এটি শুধু নিরাপদই নয়, বরং ফিচার-সমৃদ্ধও বটে। তাই আপনার পরবর্তী প্রজেক্টে ইমেইল সিস্টেমের জন্য PHPMailer-ই সেরা সমাধান। 🚀




