通过联系表格在联系表格中指定的电子邮件发送邮件
问题描述:
请帮我这个疑难问题有一个接触的形式是这样的:通过联系表格在联系表格中指定的电子邮件发送邮件
<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-使用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:**您不能创建一个网络表单,允许垃圾邮件发送者向任意收件人发送无限量的邮件!**放弃您的项目,直到您正确理解为止。 – tripleee
但我必须直接发送电子邮件到相应的电子邮件地址,但不通过我 – Nyaro
@nyaro它将直接发送到'$ selectedMember-> email1'或任何您想要的电子邮件。 – nobody
感谢您的建议,我真的很感激它 – Nyaro