PHP邮件用法和实例

本文概述

  • PHP mail()函数
  • PHP邮件示例
  • PHP邮件:发送HTML消息
  • PHP邮件:发送带有附件的邮件
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@srcmini.com"); $to = "sonoojaiswal1987@gmail.com"; //change receiver address $subject = "This is subject"; $message = "This is simple text message."; $header = "From:sonoojaiswal@srcmini.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邮件用法和实例】要发送带有附件的邮件, 你需要提及许多标头信息, 这些信息在下面的示例中使用。
< ?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..."; } ?>

    推荐阅读