PHP mail() function

Definition and usage

The mail() function allows you to send email directly from the script.

If the delivery of the email is successfully received, it returns true, otherwise it returns false.

Syntax

mail(to,subject,message,headers,parameters)
Parameters Description
to Required. Specifies the recipient of the email.
subject Required. Specifies the subject of the email. This parameter cannot contain any newline characters.
message Required. Specifies the message to be sent.
headers Required. Specifies additional headers, such as From, Cc, and Bcc.
parameters Required. Specifies additional parameters for the sendmail program.

Description

In message In the message specified by the parameters, lines must be separated by a LF (\n). Each line must not exceed 70 characters.

(Under Windows) When PHP connects directly to the SMTP server, if a period is found at the beginning of a line, it will be deleted. To avoid this problem, replace a single period with two periods.

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

Tips and comments

Comment:Remember that the acceptance of email delivery does not necessarily mean that the email has reached its intended destination.

Example

Example 1

Send a simple email:

<?php
$txt = "First line of text\nSecond line of text";
// If a line is longer than 70 characters, use wordwrap().
$txt = wordwrap($txt,70);
// Send email
mail("somebody@example.com","My subject",$txt);
?>

Example 2

Send email with additional headers:

<?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);
?>

Eksempel 3

Send et HTML-email:

<?php
$to = "somebody@example.com, somebodyelse@example.com";
$subject = "HTML email";
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>Dette email indeholder HTML Tags!</p>
<table>
<tr>
<th>Fornavn</th>
<th>Afternavn</th>
</tr>
<tr>
<td>Bill</td>
<td>Gates</td>
</tr>
</table>
</body>
</html>
";
// Indstil altid content-type, når du sender HTML-e-mails
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
// Flere hoveder
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
?>