簡體   English   中英

通過聯系我們表格將郵件發送到聯系表格中指定的電子郵件

[英]sending mail through the contact us form to the email specified in the contact form

請幫我解決這個問題。我有這樣的聯系表格:

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

現在,如果有人想向澳大利亞代表發送電子郵件,那么他們選擇澳大利亞,然后在發件人文本框中輸入他們的電子郵件。現在讓我感到困惑的是,將電子郵件發送給觀眾選擇的相應電子郵件地址。

請大家幫我。

PHP的郵件功能

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

這里有幾點

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

2-不要在<option>的值中放入實際的電子郵件地址,該地址會將那些電子郵件顯示給SPAM電子郵件爬網程序,而只需在其中輸入成員的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(!@mail($selectedMember->email1, $subject, $body,
          "Return-Path: <$replyEmail>\nFrom: $name <$replyEmail>") )
{
    echo 'error';
} else {
    echo 'message sent successfully';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM