2011-09-06 94 views
0

請幫我這個疑難問題有一個接觸的形式是這樣的:通過聯繫表格在聯繫表格中指定的電子郵件發送郵件

<div class="contact form"> 
     <form action="" method="get" class="formofcontact"/> 
       <p>To: 
        <label> 
        <select name="select" size="1" id="select"> 
        <option>Select</option> 
        <?php 
       $mvo=new membersVO(); 
       $mdao=new membersDAO(); 
       $list=$mdao->fetchAll('onlypublished'); 
       foreach($list as $members){?> 
       <option value="<?php echo "$members->email1" . "," . "$members->email2" . "," . "$members->email3";?>"><?php echo $members->name;?></option> 
       <?php 
       } 
          ?> 
        </select> 
        </label></p> 
        <p>From: 
        <label> 
        <input type="text" name="textfield2" id="textfield2" />                         </label> 
        </p> 
        <p>Subject: 
         <label> 
          <input type="text" name="textfield3" id="textfield3" /> 
         </label> 
        </p> 
        <p>Message:</p> 
        <p> 
         <label> 
         <textarea name="textarea" id="textarea" cols="45" rows="5"> </textarea>   </label> 
        </p> 
        <p> 
         <label> 
          <input type="submit" name="button" id="button" value="Send" /> 
         </label> 
        </p>          
        </form> 

現在,如果有人想發送電子郵件到澳大利亞然後代表他們選擇澳大利亞,他們從文本框中寫下你的電子郵件。現在我感到困惑的是在觀衆選擇的相應電子郵件地址中發送電子郵件。

請大家幫幫我。

回答

1

這裏有幾點

1-使用method="POST"不是GET在你<form>發送大量數據,如電子郵件。

2 - 不要把實際的電子郵件地址的<option>值內,這將揭示這些郵件到垃圾郵件爬蟲,只是把會員ID或在那裏的名字本身:當您收到

foreach($list as $member) { 
    echo '<option value="'.$member->id.'">'.$member->name.'</option>'; 
} 

然後數據發現成員,並得到其電子郵件:

$selectedMember = null; 
foreach($list as $member) { 
    if($member->id == $_POST['select']) { 
     $selectedMember = $member; 
    } 
} 
if($selectedMember === null) die('invalid member'); 

,併發送電子郵件:

if([email protected]($selectedMember->email1, $subject, $body, 
      "Return-Path: <$replyEmail>\nFrom: $name <$replyEmail>")) 
{ 
    echo 'error'; 
} else { 
    echo 'message sent successfully'; 
} 
+0

但我必須直接發送電子郵件到相應的電子郵件地址,但不通過我 – Nyaro

+0

@nyaro它將直接發送到'$ selectedMember-> email1'或任何您想要的電子郵件。 – nobody

+0

感謝您的建議,我真的很感激它 – Nyaro

2

PHP's mail function

只要確保驗證輸入。確保您的表單不能用於發送垃圾郵件。

+0

對垃圾郵件問題發表評論。基於代碼的快速蒐集,我認爲您需要詳細說明。 @Nyaro:**您不能創建一個網絡表單,允許垃圾郵件發送者向任意收件人發送無限量的郵件!**放棄您的項目,直到您正確理解爲止。 – tripleee