ارسال ایمیل (mail)
می خواهی از داخل PHP ایمیل بفرستی؟ تابع «mail» همین کار را می کند. مثل فرستادن پیام در مدرسه است. آدرس گیرنده را بده. سپس موضوع و متن را بده. بعد دکمه ارسال را فشار بده.
تعریف کوتاه و کاربرد
تابع mail() ایمیل را از دل اسکریپت می فرستد. پارامترها شامل گیرنده، موضوع، متن، هدرها، و پارامترهای اضافی هستند. «هدر (Header)» یعنی اطلاعات اضافی پیام؛ مانند فرستنده و کپی.
برای راهنمایی بیش تر، صفحه ارسال ایمیل با mail را هم ببین.
نمونه ساده
خط ها را کوتاه کن. سپس ایمیل را بفرست. مانند نوشتن کارت پستال کوتاه.
<?php
$msg = "First line of text\nSecond line of text";
$msg = wordwrap($msg, 70);
mail("someone@example.com", "My subject", $msg);
?>
ارسال با هدرهای اضافی
فرستنده و سی سی را در هدرها بگذار. هر هدر با CRLF جدا می شود.
<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\n" .
"CC: somebodyelse@example.com";
mail($to, $subject, $txt, $headers);
?>
ارسال ایمیل HTML
نوع محتوا را HTML بگذار. سپس بدنه HTML را ارسال کن. مثل ساختن یک صفحه کوچک.
<?php
$to = "somebody@example.com, somebodyelse@example.com";
$subject = "HTML email";
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>This email contains HTML Tags!</p>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
</table>
</body>
</html>
";
$headers = "MIME-Version: 1.0" . "\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\n";
$headers .= 'From: <webmaster@example.com>' . "\n";
$headers .= 'Cc: myboss@example.com' . "\n";
mail($to, $subject, $message, $headers);
?>
نکات تنظیم متن و سیستم ها
نکته: خطوط متن را با \n جدا کن. بهتر است بیش از 70 کاراکتر نشوند.
نکته: در ویندوز اگر خط با نقطه شروع شود، شاید حذف شود. برای حل آن، نقطه اول را دوتا کن.
<?php
$txt = str_replace("\n.", "\n..", $txt);
?>
هشدار: موضوع نباید نوی لاین داشته باشد. همچنین هدر From الزامی است. آن را در هدرها یا php.ini تنظیم کن.
گام های عملی سریع
- گیرنده، موضوع، متن را تعیین کن.
- در صورت نیاز، هدرها را بساز.
- تابع
mail()را صدا بزن.
جمع بندی سریع
- From باید تنظیم شود.
- خطوط متن کوتاه باشند.
- HTML نیازمند هدر محتوا است.
- موضوع بدون نوی لاین باشد.