دستگاه PHP mail()

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

دستگاه mail() اجازه می‌دهد تا از اسکریپت مستقیماً ایمیل ارسال کنید.

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

جملات

mail(گیرنده,موضوع,پیام,سربرگ‌ها,پارامترها)
پارامترها توضیحات
گیرنده ضروری. گیرنده ایمیل را تعیین می‌کند.
موضوع ضروری. موضوع ایمیل را تعیین می‌کند. این پارامتر نمی‌تواند شامل کاراکترهای خط شکست (newline) باشد.
پیام ضروری. پیام را تعیین می‌کند.
سربرگ‌ها ضروری. سربرگ‌های اضافی را تعیین می‌کند، مانند 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);
?>

مثال 3

یک ایمیل 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>Bill</td>
<td>Gates</td>
</tr>
</table>
</body>
</html>
";
// هنگام ارسال ایمیل HTML، همیشه content-type تنظیم شود
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
// بیشتر سربرگ‌ها
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?>