تابع mail() در PHP

تعریف و استفاده

تابع mail() به شما اجازه می‌دهد تا از طریق اسکریپت ایمیل ارسال کنید.

اگر ارسال ایمیل با موفقیت پذیرفته شود، true برمی‌گرداند، در غیر این صورت false.

قوانین دستور زبان

mail(گیرنده,موضوع,پیام,سربرگ‌ها,پارامترها)
پارامترها توضیحات
گیرنده لازم است. گیرنده ایمیل را تعیین کنید.
موضوع لازم است. موضوع ایمیل را تعیین کنید. این پارامتر نمی‌تواند شامل کاراکترهای خط جدید باشد.
پیام لازم است. پیام را تعیین کنید.
سربرگ‌ها لازم است. سربرگ‌های اضافی را تعیین کنید، مانند From، Cc و Bcc.
پارامترها لازم است. پارامترهای اضافی sendmail را تعیین کنید.

توضیحات

در پیام در پیام‌هایی که توسط پارامترها تعیین می‌شوند، بین خطوط باید یک LF (\n) قرار گیرد. هر خط نمی‌تواند بیشتر از 70 کاراکتر باشد.

در ویندوز، وقتی PHP مستقیماً به سرور SMTP متصل می‌شود، اگر یک نقطه در ابتدای یک خط پیدا شود، حذف می‌شود. برای جلوگیری از این مشکل، یک نقطه را به دو نقطه تبدیل کنید.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

نکات و توضیحات

توضیحات:لازم است به خاطر بسپارید که پذیرش ایمیل به معنای رسیدن به مقصد برنامه‌ریزی شده نیست.

مثال

مثال 1

ایمیل ساده‌ای ارسال کنید:

<?php
$txt = "First line of text\nSecond line of text";
// اگر یک خط بیشتر از 70 کاراکتر باشد، از wordwrap() استفاده کنید.
$txt = wordwrap($txt,70);
// ارسال ایمیل
mail("somebody@example.com","My subject",$txt);
?>

مثال 2

ایمیل با سربرگ اضافی ارسال کنید:

<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?>

Example 3

Send an HTML email:

<?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>Bill</td>
<td>Gates</td>
</tr>
</table>
</body>
</html>
";
// Set content-type always when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
// More headers
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?>