个性化阅读
专注于IT技术分析

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@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...";
   }
?>
赞(0)
未经允许不得转载:srcmini » PHP邮件用法和实例

评论 抢沙发

评论前必须登录!