本文概述
PHP mail()函数用于以PHP发送电子邮件。你可以使用PHP mail()函数发送文本消息, html消息和带有消息的附件。
PHP mail()函数
句法
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
$ to:指定邮件的接收者。必须指定接收者以下形式之一。
- user@example.com
- user@example.com, anotheruser@example.com
- 用户<user@example.com>
- 用户<user@example.com>, 另一个用户<anotheruser@example.com>
$ subject:代表邮件的主题。
$ message:表示要发送邮件的消息。
注意:消息的每一行都应以CRLF(\ r \ n)分隔, 并且行数不得超过70个字符。
$ additional_headers(可选):指定其他标头, 例如From, CC, BCC等。其他附加标头也应使用CRLF(\ r \ n)分隔。
PHP邮件示例
档案:mailer.php
<?php
ini_set("sendmail_from", "sonoojaiswal@srcmini02.com");
$to = "sonoojaiswal1987@gmail.com";//change receiver address
$subject = "This is subject";
$message = "This is simple text message.";
$header = "From:sonoojaiswal@srcmini02.com \r\n";
$result = mail ($to, $subject, $message, $header);
if( $result == true ){
echo "Message sent successfully...";
}else{
echo "Sorry, unable to send mail...";
}
?>
如果你在实时服务器上运行此代码, 它将向指定的收件人发送电子邮件。
PHP邮件:发送HTML消息
要发送HTML消息, 你需要在消息头中提及Content-type text / html。
<?php
$to = "abc@example.com";//change receiver address
$subject = "This is subject";
$message = "<h1>This is HTML heading</h1>";
$header = "From:xyz@example.com \r\n";
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-type: text/html;charset=UTF-8 \r\n";
$result = mail ($to, $subject, $message, $header);
if( $result == true ){
echo "Message sent successfully...";
}else{
echo "Sorry, unable to send mail...";
}
?>
PHP邮件:发送带有附件的邮件
要发送带有附件的邮件, 你需要提及许多标头信息, 这些信息在下面的示例中使用。
<?php
$to = "abc@example.com";
$subject = "This is subject";
$message = "This is a text message.";
# Open a file
$file = fopen("/tmp/test.txt", "r" );//change your file location
if( $file == false )
{
echo "Error in opening file";
exit();
}
# Read the file into a variable
$size = filesize("/tmp/test.txt");
$content = fread( $file, $size);
# encode the data for safe transit
# and insert \r\n after every 76 chars.
$encoded_content = chunk_split( base64_encode($content));
# Get a random 32 bit number using time() as seed.
$num = md5( time() );
# Define the main headers.
$header = "From:xyz@example.com\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; ";
$header .= "boundary=$num\r\n";
$header .= "--$num\r\n";
# Define the message section
$header .= "Content-Type: text/plain\r\n";
$header .= "Content-Transfer-Encoding:8bit\r\n\n";
$header .= "$message\r\n";
$header .= "--$num\r\n";
# Define the attachment section
$header .= "Content-Type: multipart/mixed; ";
$header .= "name=\"test.txt\"\r\n";
$header .= "Content-Transfer-Encoding:base64\r\n";
$header .= "Content-Disposition:attachment; ";
$header .= "filename=\"test.txt\"\r\n\n";
$header .= "$encoded_content\r\n";
$header .= "--$num--";
# Send email now
$result = mail ( $to, $subject, "", $header );
if( $result == true ){
echo "Message sent successfully...";
}else{
echo "Sorry, unable to send mail...";
}
?>
评论前必须登录!
注册