【问题标题】:Can one processing file be used for three forms of varying destination addresses?一个处理文件可以用于三种不同的目标地址吗?
【发布时间】:2011-07-27 19:06:18
【问题描述】:

我正在开发一个包含三个联系表单的网站。所有表格收集基本信息姓名、电子邮件、评论..

我的问题是,即使每个表单的 $emailto 地址不同,我是否可以使用一个 php 文件(例如 send-mail.php)来处理所有三种表单的邮件发送?如果是,我该如何实现?还是我需要为每张表格创建一个单独的文件?

$emailTo = 'youremail@yoursite.com'; 
$body = "Name: $name \n\nEmail: $email \n\nSubject: $enquiry";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

mail($emailTo, $subject, $body, $headers);
$emailSent = true;

【问题讨论】:

    标签: php xhtml


    【解决方案1】:

    是的,你可以。您需要能够以某种方式区分表单,并且可以在每个联系页面上使用隐藏的表单字段来做到这一点:

    <form method = 'post' action = 'send-mail.php'>
        <input type = 'hidden' name = 'formID' id = 'formID' value = '1'>
    

    然后只需检查此类型以确定收件人电子邮件地址应该是什么。

    <?php
        if($_POST['formID'] == 1)
            $emailTo = "me@me.com";
        else if($_POST['formID'] == 2)
            $emailTo = "you@you.com";
    
       // ...
    
        mail($emailTo, $subject, $body, $headers);
    ?>
    

    【讨论】:

    • 只是补充一点,无论您做什么,都不要将“电子邮件至”地址作为隐藏字段元素。 ID(如此处所建议的)要好得多,否则任何人都可以通过更改为隐藏元素发送的值将您的表单提交到他们想要的任何电子邮件地址。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多