语法:mail(to,subject,message,headers,parameters)
参数 | 描述 |
to | 必需。规定 email 接收者。 |
subject | 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。 |
message | 必需。定义要发送的消息。应使用 LF (\n) 来分隔各行。每行应该限制在 70 个字符内。 |
headers | 可选。规定附加的标题,比如 From、Cc 和 Bcc。应当使用 CRLF (\r\n) 分隔附加的标题。 |
parameters | 可选。对邮件发送程序规定额外的参数。 |
<?php
if (isset($_REQUEST['email'])) {
$email = filter_var($_REQUEST['email'], FILTER_SANITIZE_EMAIL);
$subject = htmlspecialchars($_REQUEST['subject']);
$message = htmlspecialchars($_REQUEST['message']);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
if (mail("13760522160@163.com", $subject, $message, "From:" . $email)) {
echo "邮件发送成功";
} else {
echo "邮件发送失败";
}
} else {
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>";
}
?>
效果图:
如果你的服务器配置正确,并且 mail() 函数能够正常工作,那么这段代码可以发送邮件。
下方是安全e-mail,防注入
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
function spamcheck($field)
{
// filter_var() 过滤 e-mail
// 使用 FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() 过滤 e-mail
// 使用 FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (isset($_REQUEST['email']))
{
// 如果接收到邮箱参数则发送邮件
// 判断邮箱是否合法
$mailcheck = spamcheck($_REQUEST['email']);
if ($mailcheck==FALSE)
{
echo "非法输入";
}
else
{
// 发送邮件
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail("someone@example.com", "Subject: $subject",
$message, "From: $email" );
echo "Thank you for using our mail form";
}
}
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>