[英]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>
現在,如果有人想向澳大利亞代表發送電子郵件,那么他們選擇澳大利亞,然后在發件人文本框中輸入他們的電子郵件。現在讓我感到困惑的是,將電子郵件發送給觀眾選擇的相應電子郵件地址。
請大家幫我。
只要確保驗證輸入即可。 確保您的表格不能用於發送垃圾郵件。
這里有幾點
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.