পিএইচপি মেইল ফাংশন টিউটোরিয়াল

আপনি PHP mail() ফাংশন দ্বারা সরাসরি ওয়েব পেজ থেকে ইমেইল পাঠাতে পারেন।
সংকেত
1.mail(to,subject,message,headers,parameters)
প্যারামিটার বর্ননা
to জরুরি।এখানে যে ইমেইল ঠিকানা থাকবে সেই ঠিকানায় মেইল যাবে।
subject জরুরি।এখানে বিষয় উল্লেখ থাকবে।
message জরুরি।এখানে মেসেজ থাকবে যা পাঠানো হবে।মেসেজের লাইনগুলি (\n) চিহ্ন দ্বারা পৃথক হবে এবং কোন লাইন ৭০ অক্ষরের বেশি হবেনা।
headers ঐচ্ছিক।এর দ্বারা অতিরিক্ত শিরোনাম যোগ করা যাবে।যেমন:From,Cc,Bcc.
parameters ঐচ্ছিক।অতিরিক্ত প্যারামিটার যোগ করা যায়।
নোট:মেইল ফাংশন কার্যকর করার জন্য আপনার সিস্টেমে ইমেইল সার্ভার ইনস্টল থাকতে হবে এবং php.ini ফাইলটি সেই অনুযায়ী কনফিগার করে নিতে হবে>>বুঝতে সমস্যা হচ্ছে?বিব্রত হওয়ার দরকার নেই-আপনাকে কিছুই করতে হবেনা।কারন আমরা যেসব হোস্টিং প্রোভাইডারের কাছে আমাদের সাইটগুলি হোস্টিং করাই তাদের সার্ভারে এসব করাই থাকে।এসব থাক্ আপনি শুধু নিচের টুকু ভাল করে পড়ুন।
ধরুন আপনার একটা টিউটোরিয়াল সাইট আছে এবং প্রতিটি টিউটোরিয়ালের পর মন্তব্য করার ব্যাবস্থা আছে আর আপনি চাচ্ছেন যে মন্তব্যগুলি আপনার মেইল ঠিকানায় চলে আসুক যাতে বুঝতে পারেন আপনার টিউটোরিয়াল টি কতজনের কাছে ভাল বা খারাপ লেগেছে।অর্থ্যাৎ ফিডব্যাক ফর্ম।এটা করার জন্য পিএইচপি মেইল ফাংশন।
নিচের উদাহরনে একটি টেক্সট মেসেজ পাঠানো হয়েছে ঐ মেইলে যা লিখেছি (অর্থ্যাৎ someone@example.com এই মেইলে),এখানে প্রথমে কিছু ভেরিয়েবল ডিক্লেয়ার করেছি ($to, $subject, $message, $from, $headers) তারপর এই ভেরিয়েবল mail()  ফাংশনে ব্যবহার করে মেইল পাঠানো হয়েছে।

<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

পিএইচপি ফিডব্যাক ফর্ম
আপনার সাইটে একটা ফিডব্যাক ফর্ম যোগ করতে নিচের কোডটি লিখে mailform.php নামে সেভ করুন আর মেইলের জায়গায় যে মেইলে তথ্য যাবে (যে মেইলে ফিডব্যাক পেতে চান) সে মেইলের নাম লিখে দিন।
mailform.php ফাইল

<html>
<body>

<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
{
//send email
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail( "someone@example.com", "Subject: $subject",
$message, "From: $email" );
echo "Thank you for using our mail form";
}
else
//if "email" is not filled out, display the form
{
echo "<form method='post' action='mailform.php'>
Email: <input name='email' type='text' /><br />
Subject: <input name='subject' type='text' /><br />
Message:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
}
?>

</body>
</html>

নোট: লোকালহোস্টে (লোকাল সার্ভারে) যদি এই পরীক্ষা করতে চান তাহলে আপনার সিস্টেমে মেইল সার্ভার ইনস্টল থাকতে হবে।পাবলিক সার্ভারে করলে কাজ হবে কারন এখানে মেইল সিস্টেম ইনস্টল দেয়াই থাকে।

ব্যাখ্যা:

প্রথমে দেখ যে ইমেইল এর ঘরটি পুরন করেছে কিনা
যদি না করে তাহলে HTML ফর্মটিই  দেখাও
যদি পুরন করে তাহলে ফর্ম থেকে ডেটা নিয়ে মেইল পাঠিয়ে দাও
এই ৩টি logic এখানে ব্যাবহৃত হয়েছে।
এরপর যখন ফর্ম পুরন করে সাবমিট বাটনে ক্লিক করবে তখন পেজটি reload হয় এবং যখন দেখে ইমেইল এর ঘরটি পুরন করেছে তখন মেইল পাঠিয়ে দেয়।

টিপস:এটা নিরাপদ পদ্ধতি নয় এতে করে এই ফর্ম ব্যাবহার করে অবৈধ ইউজার মেইল করে দিতে পারে এটাকে বলে ইমেইল ইনজেকশন।ইমেইল ইনজেকশন থেকে বাচার উপায় হল form validation.যা PHP ফিল্টার (Filter) অংশের টিউটোরিয়ালে বর্ননা করেছি।

কোন মন্তব্য নেই

Blogger দ্বারা পরিচালিত.