美文网首页笔记整理
PHP基础回顾之E-mail(四)

PHP基础回顾之E-mail(四)

作者: 桜花約束 | 来源:发表于2018-09-20 20:48 被阅读0次

    PHP的mail()函数

    PHP 简易 E-Mail
    通过 PHP 发送电子邮件的最简单的方式是发送一封文本 email。

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

    PHP Mail 表单
    通过 PHP,可以在自己的站点制作一个反馈表单。下面的实例向指定的 e-mail 地址发送了一条文本消息:

    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</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>
    

    PHP 防止 E-mail 注入
    防止 e-mail 注入的最好方法是对输入进行验证。增加检测表单中 email 字段的输入验证程序:

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

    相关文章

      网友评论

        本文标题:PHP基础回顾之E-mail(四)

        本文链接:https://www.haomeiwen.com/subject/wjtonftx.html