PHP E-Mail

PHP Send Email

PHP allows you to send emails directly from scripts.

PHP mail() function

PHP mail() function is used to send an email from a script.

Syntax

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

##Parameters                       Description

to Required. Specify email recipients. ​

subject ​ ​ Required. Specifies the subject of the email. Note: This parameter cannot contain any newline characters. ​

message ​ ​ Required. Define the message to be sent. LF (\n) should be used to separate lines. Each line should be limited to 70 characters. ​

headers ​ ​ ​ Optional. Specifies additional headers such as From, Cc, and Bcc. Additional headers should be separated using CRLF (\r\n). ​

parameters ​ Optional. Specifies additional parameters for the mailer.

Note: Running mail functions in PHP requires an installed and running mail system (such as sendmail, postfix, qmail, etc.). The program used is defined through configuration settings in the php.ini file. Read more in our PHP Mail Reference Manual .

PHP Simple E-Mail

The easiest way to send an email via PHP is to send a text email.

In the following example, we first declare the variables ($to, $subject, $message, $from, $headers), and then we use these variables in the mail() function to send an E -mail:

<?php
  $to = "someone@example.com";           // 邮件接收者
  $subject = "参数邮件";                 // 邮件标题
  $message = "Hello! 这是邮件的内容。";  // 邮件正文
  $from = "someonelse@example.com";      // 邮件发送者
  $headers = "From:" . $from;            // 头部信息设置
  mail($to, $subject, $message, $headers);
  echo "邮件已发送";
 ?>

PHP Mail Form

With PHP, you can create a feedback form on your site. The following example sends a text message to the specified e-mail address:

      <html>
        <head>
        <meta charset="utf-8">
        <title>php中文网(php.cn)</title>
        </head>
        <body>
        <?php
        if (isset($_REQUEST['email'])) {   // 如果接收到邮箱参数则发送邮件
            // 发送邮件
            $email = $_REQUEST['email'] ;
            $subject = $_REQUEST['subject'] ;
            $message = $_REQUEST['message'] ;
            mail("someone@example.com", $subject,
            $message, "From:" . $email);
            echo "邮件发送成功";
        } else { // 如果没有邮箱参数则显示表单
            echo "<form method='post' action='mailform.php'>
            Email: <input name='email' type='text'><br>
            Subject: <input name='subject' type='text'><br>
            Message:<br>
            <textarea name='message' rows='15' cols='40'>
            </textarea><br>
            <input type='submit'>
            </form>";
        }
        ?>
        </body>
      </html>

Explanation of the example:

First, check whether the email input box is filled in

If it is not filled in (for example, when the page is visited for the first time), output the HTML form

If filled out (after the form is filled in), send an email from the form

When the form is filled out and the submit button is clicked, The page reloads, and you can see that the email input has been reset, and a message that the email was sent successfully is displayed.

Note: This simple e-mail is not safe. In the next chapter of this tutorial, you will read To learn more about the security risks in email scripts, we'll show you how to validate user input to make it more secure.

PHP Mail Reference Manual

For more information about the PHP mail() function, please visit our PHP Mail Reference Manual.


Continuing Learning
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件 // 发送邮件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", $subject, $message, "From:" . $email); echo "邮件发送成功"; } else { // 如果没有邮箱参数则显示表单 echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text'><br><br> Subject: <input name='subject' type='text'><br><br> Message:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form>"; } ?> </body> </html>
submitReset Code