定义和用法

mail() 函数允许您从脚本中直接发送电子邮件。

如果邮件的投递被成功地接收,则返回 true,否则返回 false。

语法

mail(to,subject,message,headers,parameters)

参数 描述
to 必需。规定邮件的接收者。
subject 必需。规定邮件的主题。该参数不能包含任何换行字符。
message 必需。规定要发送的消息。
headers 必需。规定额外的报头,比如 From, Cc 以及 Bcc。
parameters 必需。规定 sendmail 程序的额外参数。

说明

在 message 参数规定的消息中,行之间必须以一个 LF(\\n)分隔。每行不能超过 70 个字符。 (Windows 下)当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉。要避免此问题,将单个句号替换成两个句号。

<?php
$text = str_replace(\"\\n.\", \"\\n..\", $text);
?>

实例一:发送html邮件

<html>   
   <head>
      < >Sending HTML email using PHP</ >
   </head>   
   <body>
      <?php
         $to = \"xyz@somedomain.com\";
         $subject = \"This is subject\";
         $message = \"<b>This is HTML message.</b>\";
         $message .= \"<h1>This is headline.</h1>\";
         $header = \"From:abc@somedomain.com \\r\\n\";
         $header = \"Cc:afgh@somedomain.com \\r\\n\";
         $header .= \"MIME-Version: 1.0\\r\\n\";
         $header .= \"Content-type: text/html\\r\\n\";
         $retval = mail ($to,$subject,$message,$header);
         if( $retval == true )
         {
            echo \"Message sent successfully...\";
         }
         else
         {
            echo \"Message could not be sent...\";
         }
      ?>
   </body>
</html>

<##ads_in_article_manong##>

实例二:发送带附件的邮件

<?php
   // request variables // important
   $from=$_REQUEST[\"from\"];
   $emaila=$_REQUEST[\"emaila\"];
   $filea=$_REQUEST[\"filea\"];
   if ($filea)
   {
      function mail_attachment ($from , $to, $subject, $message, $attachment){
         $fileatt = $attachment; // Path to the file
         $fileatt_type = \"application/octet-stream\"; // File Type        
         $start = strrpos($attachment, \'/\') == -1 ? strrpos($attachment, \'//\') : strrpos($attachment, \'/\')+1;
         $fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment 
         $email_from = $from; // Who the email is from
         $subject = \"New Attachment Message\";
         $email_subject =  $subject; // The Subject of the email 
         $email_txt = $message; // Message that the email has in it 
         $email_to = $to; // Who the email is to
         $headers = \"From: \".$email_from;
         $file = fopen($fileatt,\'rb\'); 
         $data = fread($file,filesize($fileatt)); 
         fclose($file);    
         $msg_txt=\"\\n\\n You have recieved a new attachment message from $from\";
         $semi_rand = md5(time()); 
         $mime_boundary = \"==Multipart_Boundary_x{$semi_rand}x\"; 
         $headers .= \"\\nMIME-Version: 1.0\\n\" . \"Content-Type: multipart/mixed;\\n\" . \" boundary=\\\"{$mime_boundary}\\\"\";
         $email_txt .= $msg_txt;
         $email_message .= \"This is a multi-part message in MIME format.\\n\\n\" . \"--{$mime_boundary}\\n\" . \"Content-Type:text/html; charset=\\\"iso-8859-1\\\"\\n\" . \"Content-Transfer-Encoding: 7bit\\n\\n\" . $email_txt . \"\\n\\n\";
         $data = chunk_split( 64_encode($data));
         $email_message .= \"--{$mime_boundary}\\n\" . \"Content-Type: {$fileatt_type};\\n\" . \" name=\\\"{$fileatt_name}\\\"\\n\" . //\"Content-Disposition: attachment;\\n\" . //\" filename=\\\"{$fileatt_name}\\\"\\n\" . \"Content-Transfer-Encoding:  64\\n\\n\" . $data . \"\\n\\n\" . \"--{$mime_boundary}--\\n\";
         $ok = mail($email_to, $email_subject, $email_message, $headers);
         if($ok)
         {
            echo \"File Sent Successfully.\";
            un ($attachment); // delete a file after attachment sent.
         }         
         else
         {
            die(\"Sorry but the email could not be sent. Please go back and try again!\");
         }
      }
      move_uploaded_file($_FILES[\"filea\"][\"tmp_name\"],\'temp/\'. name($_FILES[\'filea\'][\'name\']));
      mail_attachment(\"$from\", \"youremailaddress@gmail.com\", \"subject\", \"message\", (\"temp/\".$_FILES[\"filea\"][\"name\"]));
   }
?>
<html>
   <head>    
      <  language=\" \" type=\"text/ \">
         function CheckData45()
         {
            with(document.filepost)
            {
               if(filea.value != \"\")
               {
                  document.getElementById(\'one\').innerText = \"Attaching File ... Please Wait\";
               }
            }
         }
      </ >
   </head>
   <body>
      <table width=\"100%\" height=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
         <tr>
            <td align=\"center\">
               <form name=\"filepost\" method=\"post\" action=\"file.php\" enctype=\"multipart/form-data\" id=\"file\">
                  <table width=\"300\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                     <tr valign=\"bottom\">
                        <td height=\"20\">Your Name:</td>
                     </tr>
                     <tr>
                        <td><input name=\"from\" type=\"text\" id=\"from\" size=\"30\"></td>
                     </tr>
                     <tr valign=\"bottom\">
                        <td height=\"20\">Your Email Address:</td>
                     </tr>
                     <tr>
                        <td class=\"frmtxt2\"><input name=\"emaila\" type=\"text\" id=\"emaila\" size=\"30\"> </td>
                     </tr>
                     <tr>
                        <td height=\"20\" valign=\"bottom\">Attach File:</td>
                     </tr> 
                     <tr valign=\"bottom\">
                        <td valign=\"bottom\"><input name=\"filea\" type=\"file\" id=\"filea\" size=\"16\"></td>
                     </tr>
                     <tr>
                        <td height=\"40\" valign=\"middle\"><input name=\"Reset2\" type=\"reset\" id=\"Reset2\" value=\"Reset\">
                        <input name=\"Submit2\" type=\"submit\" value=\"Submit\"  =\"return CheckData45()\"></td>
                     </tr>
                  </table>
               </form>  
               <center>
                  <table width=\"400\">
                     <tr>
                        <td id=\"one\">
                        </td>
                     </tr>
                  </table>
               </center>               
            </td>
         </tr>
      </table>
   </body>
</html>
收藏 打印