- روش ۱: ارسال پیام در php با تابع mail
گام نخست، ساختن یک فرم تماس در قالب کدهای html است تا اطلاعات آن پس از ارسال، به سرور منتقل و در آنجا توسط سیستم ایمیل به آدرس مدیر ارسال گردد؛ لذا بدین منظور ابتدا فرم زیر را نوشته و آن را در یک فایل با نام فرضی index.php ذخیره میکنیم.
<html>
<head>
<meta charset="utf-8">
<title>تماس با ما</title>
<link rel="stylesheet" type="text/css" href="yourCSS.css" />
</head>
<body>
<form action="contact.php" method="post">
<label for="name">نام شما: </label>
<input type="text" id="name" name="visitor_name" required><br />
<label for="email">ايميل شما: </label>
<input type="email" id="email" name="visitor_email" required><br />
<label for="message">پيام</label>
<textarea id="message" name="visitor_message" cols="35" rows="8" required></textarea><br />
<button type="submit">ارسال پيام</button>
</form>
</body>
</html>
کدهای CSS به کار رفته برای بهتر نمایش دادن این فرم را نیز میتوانید در ادامه ملاحظه کنید :(در فایلی با نام yourCSS.css ذخیره شده است.)
body{
font-family:Tahoma, Geneva, sans-serif;
font-size:12px;
direction:rtl;
}
label{
display:inline-block;
width:100px;
height:25px;
vertical-align:top;
}
.code{
width:50px;
margin-top:2px;
}
همان طور که در بالا و در قسمت کد html گفتیم، اطلاعات ارسال شده از فایل index.php به یک فایل دیگر به نام contact.php فرستاده میشود (البته میتوانید برنامه خود را طوری بنویسید که اطلاعات به همان فایل ارسال شوند و نیازی به یک فایل دیگر نباشد)، در این فایل کدهای زیر را قرار میدهیم.
<html>
<head>
<meta charset="utf-8">
<title>تماس با ما</title>
<link rel="stylesheet" type="text/css" href="yourCSS.css" />
</head>
<body>
<?php
$recipient = "zari.fateh@gmail.com";
if($_POST) {
$visitor_name = "";
$visitor_email = "";
$visitor_message = "";
if(isset($_POST['visitor_name'])) {
$visitor_name = filter_var($_POST['visitor_name'], FILTER_SANITIZE_STRING);
}
if(isset($_POST['visitor_email'])) {
$visitor_email = str_replace(array("\r", "\n", "%0a", "%0d"), '', $_POST['visitor_email']);
$visitor_email = filter_var($visitor_email, FILTER_VALIDATE_EMAIL);
}
if(isset($_POST['visitor_message'])) {
$visitor_message = htmlspecialchars($_POST['visitor_message']);
}
$headers = 'MIME-Version: 1.0' . "\r\n"
.'Content-type: text/html; charset=utf-8' . "\r\n"
.'From: ' . $visitor_email . "\r\n";
if(mail($recipient, $visitor_message, $headers)) {
echo "<p>با تشکر از تماس شما, $visitor_name عزيز . تا 24 ساعت آبنده پاسخ خود را دريافت خواهيد کرد.</p>";
} else {
echo "<p>خطا در ارسال ايميل! تنظيمات سرور شما از اين امکان پشتيباني نمي کند</p>";
}
} else {
echo '<p>مشکلي وجود دارد.</p>';
}
?>
</body>
</html>