PHP發送電子郵件(Email)
PHP mail()
函數用於在PHP中發送電子郵件。 您可以使用PHP mail()
函數來發送短信,HTML消息和附件與消息。
PHP mail()函數
語法
$to
:指定郵件的接收者或接收者。 接收器必須指定以下格式之一。-
$subject
: 代表郵件的主題。 -
$message
: 表示要發送的郵件的消息。 -
$additional_headers
(可選):指定附加頭,如From
,CC
,BCC
等。額外的附加頭也應該用CRLF(\r\n
)分隔。
注意:消息的每一行應使用CRLF(
\r\n
)分隔,並且行不應大於70
個字符。
PHP郵件示例
文件:mailer.php
<?php
ini_set("sendmail_from", "[email protected]");
$to = "[email protected]";//change receiver address
$subject = "This is subject";
$message = "This is simple text message.";
$header = "From:[email protected] \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 = "[email protected]";//change receiver address
$subject = "This is subject";
$message = "<h1>This is HTML heading</h1>";
$header = "From:[email protected] \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 = "[email protected]";
$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:[email protected]\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...";
}
?>