PHP Development Basics Tutorial: Sending Email

1. PHP mail() function

The PHP mail() function is used to send emails from scripts.

Grammar:

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

57.png


##Note: PHP running mail function 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 .




##2. PHP Simple E-MailThe easiest way to send 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

Example: The code is as follows

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

3. PHP Mail formThrough PHP, you can The site creates a feedback form. The following example sends a text message to the specified e-mail address

Example: The code is as follows:

<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>

The output is as shown on the right

Code explanation:

First, check whether the email input box is filled in

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

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

When the form is filled out and the submit button is clicked, the page re- Loading, you can see that the email input is reset, and the message that the email was successfully sent is displayed

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

Learning experience: Analysis of reasons for unsuccessful sending

The first example above may cause the following error message

58.pngAlarm explanation:

Cannot connect to the mail server on port 25 of the host, please verify your SMTP (Mail Transfer Protocol)


4. 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> Subject: <input name='subject' type='text'><br> Message:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form>"; } ?> </body> </html>
submitReset Code