根据下拉选项向独特的人发送电子邮件

时间:2012-04-01 23:32:37

标签: php

根据用户在联系表单中选择的位置,我有一个需要转到不同所有者的表单。我正在使用一个模板,并且能够编辑这些字段以使它们成为我想要的值,但很难找到如何将它传达给正确的人。

<?php

if(!$_POST) exit;  

$email = $_POST['email'];

//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]  {2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('location','name','email','phone','message');
$required = array('location','name','email','phone','message');

$your_email = "jhutchins@sealkc.com";
$email_subject = "New Message: ".$_POST['subject'];
$email_content = "new message:\n";

foreach($values as $key => $value){
  if(in_array($value,$required)){
    if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
    $email_content .= $value.': '.$_POST[$value]."\n";
  }
}

if(

if(@mail($your_email,$email_subject,$email_content)) {
    echo 'Message sent!'; 
} else {
    echo 'ERROR!';
}
   }
?>

我想根据位置下拉菜单更改$ your_email指向的对象。并且总是CC一个特定的人。

表格如下: http://amazinggaragefloors-net.si-sv3641.com/contactus.html

2 个答案:

答案 0 :(得分:3)

$email_location = $_POST['location']; // the value from your form

if($email_location == "Atlanta") { // a form value and a location
    $your_email = "atlanta@email.com"; // the email for that location
} else if ($email_location == "Colorado") {
    $your_email = "colorado@email.com";
} else if ($email_location == "Virginia") {
    $your_email = "virginia@email.com";
} else if ($email_location == "Kansas City") {
    $your_email = "kansas@email.com";
} else { // if no one is good, send it to this email
    $your_email = "standard@email.com";
}

把它放在$ your_email =&#34; jhutchins@sealkc.com" ;;并且您将启动并运行:)请注意,您不要让用户控制特定的电子邮件地址,因为它可能会用于垃圾邮件。始终使用静态引用,因为现在是位置作为参考的情况。

答案 1 :(得分:0)

我接受了ArendE的回复,​​并将他的智慧运用到我刚创建的表格中。

/contactengine.php中插入此代码(替换第4行):

$Email_Query = $_POST['Query']; // the value from your form

if($Email_Query == "Publishing") { // a form value and a location
    $EmailTo = "one@maggew.com"; // the email for that location
} else if ($Email_Query == "Custom Programs") {
    $EmailTo = "two@maggew.com";
} else if ($Email_Query == "Events") {
    $EmailTo = "three@maggew.com";
} else if ($Email_Query == "Subscriptions") {
    $EmailTo = "four@maggew.com";
} else { // if no one is good, send it to this email
    $EmailTo = "standard@maggew.com";
}

同样,我将此代码添加到上面的相同文件中(第5行之后)

$Query = Trim(stripslashes($_POST['Query'])); 

另外,我将此代码添加到上面的相同文件中(第19行之后)

$Body .= "Query: ";
$Body .= $Query;

我在表单中添加了一个下拉列表:

<select id="Query" name="Query">
    <option value="Publishing" name="Query1">Publishing</option>
    <option value="Custom Programs" name="Query2">Custom Programs</option>
    <option value="Events" name="Query3">Events</option>
    <option value="Subscriptions" name="Query4">Subscriptions</option>
</select>

非凡!干得好,你的设置和准备摇滚......

感谢您的关注,

P.S。我不相信会发送“CC”电子邮件。在我的表格测试期间,我从未收到过一个,但是,我对收到的其他声明感到满意。