কম্পিউটার টিউটোরিয়াল

PHP-তে mail() ফাংশন

পরিচয়

PHP-তে mail() ফাংশনটি সরাসরি স্ক্রিপ্ট থেকে ইমেইল পাঠাতে ব্যবহৃত হয়। এটি সিস্টেমের মেইল ট্রান্সফার এজেন্ট (MTA - যেমন sendmail, postfix, exim) ব্যবহার করে ইমেইল ডেলিভারি করে। সাধারণত ছোট অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়; বড় স্কেলে SMTP লাইব্রেরি (PHPMailer, Symfony Mailer) ব্যবহার করা ভালো।

সিনট্যাক্স

mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool

প্যারামিটারসমূহ

  • to — প্রাপকের ইমেইল ঠিকানা (একাধিক হলে কমা দিয়ে আলাদা করুন)।

  • subject — ইমেইলের বিষয় (সাবজেক্ট লাইন)।

  • message — পাঠানো মেসেজ বডি। প্রতিটি লাইন CRLF (\r\n) দিয়ে শেষ করা উচিত, লাইন লংগ्थ ৭০ ক্যারেক্টারের নিচে রাখা ভালো।

  • additional_headers (ঐচ্ছিক) — অতিরিক্ত হেডার (From, Cc, Bcc, Reply-To, Content-Type ইত্যাদি)। স্ট্রিং বা অ্যারে (PHP 7.2+) হিসেবে দেওয়া যায়।

  • additional_params (ঐচ্ছিক) — sendmail প্রোগ্রামে অতিরিক্ত প্যারামিটার পাস করার জন্য (যেমন: -f sender@example.com)। PHP 4.0.5+ থেকে উপলব্ধ।

রিটার্ন ভ্যালু

ইমেইল সফলভাবে MTA-তে কিউড হলে true, ব্যর্থ হলে false ফেরত দেয়। দ্রষ্টব্য: true মানে ইমেইল পৌঁছেছে নিশ্চিত নয়, শুধু MTA-তে Accepted হয়েছে।

উদাহরণ

<?php
$msg = "This is demo text!";
$email_msg = wordwrap($msg, 70, "\r\n"); // RFC 5322 অনুযায়ী লাইন ব্রেক
$headers = [
    "From" => "sender@example.com",
    "Reply-To" => "reply@example.com",
    "Content-Type" => "text/plain; charset=UTF-8"
];
mail("demo@example.com", "Subject Line", $email_msg, $headers);
?>

গুরুত্বপূর্ণ টিপস:

  • সবসময় From হেডার সেট করুন, অন্যথায় স্প্যাম ফোল্ডারে যেতে পারে।
  • HTML ইমেইলের জন্য Content-Type: text/html; charset=UTF-8 ব্যবহার করুন।
  • অ্যাটাচমেন্টের জন্য multipart MIME ব্যবহার করুন (PHPMailer সুপারিশ করা হয়)।
  • সিকিউরিটি: ইউজার ইনপুট হেডারে সরাসরি ব্যবহার করবেন না (Header Injection আটকের করণ)।

  1. PHP max() ফাংশন

  2. PHP log10() ফাংশন

  3. PHP log() ফাংশন

  4. PHP lcg_value() ফাংশন