PHP發送電子郵件(Email)

PHP mail()函數用於在PHP中發送電子郵件。 您可以使用PHP mail()函數來發送短信,HTML消息和附件與消息。

PHP mail()函數

語法

注意:消息的每一行應使用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...";  
   }  
?>