【发布时间】:2014-10-13 02:28:09
【问题描述】:
这里是初学者。
我已经检查了论坛以找到答案,但我没有成功,其他问题专门针对 PHPMailer 的某些部分,但我的问题更笼统。所以我希望没有人会像我在学习曲线中那样将我的问题标记为重复。
我正在开发一个 PHP 项目。它的工作原理是用户进入页面并在表单(文本编辑器)中编写一些 cmets,然后单击发送按钮。我可以在我的电子邮件中收到他的消息。出于显而易见的原因,我已将密码和主机设置为空,但稍后它将是我拥有自己域的真实电子邮件。
这里有两个问题:
- 我不想使用 $mail->Body 发送静态正文,但我希望程序获取用户的消息、姓名和电子邮件地址并将该消息发送到我的电子邮件。
- 当我收到电子邮件时,我看不到发件人的姓名和电子邮件,这意味着程序无法从会话中获取用户的电子邮件和姓名
能否请您提供有帮助的建议或示例代码。谢谢。
if($_POST['mode']=='send'){
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "myhost"; // SMTP server
//$mail->SMTPSecure = 'ssl';
$mail->From = "my email";
$mail->port = '26'; // can also change to 465
$mail->SMTPAuth = true;
$mail->Username= "my email";
$mail->Password = "my password";
$mail->AddAddress("my email");
$Name = mysql_real_escape_string($_POST['part_fname']); //this code is not getting the name and email
$Email = mysql_real_escape_string($_POST['part_email']);
$mail->Subject = "New Bug Report";
$mail->Body = "User Information, Name = " . $Name . " || Email = " . $Email; // I want to get the user's message not a static message!
$mail->WordWrap = 50;
if(!$mail->Send())
{
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
$message = 'Thanks for your suggestion';
}
}
这是html中的表格:
<form role="form" name="Form2" action="" method="post" class="form-horizontal">
<textarea name="bug" cols="100" rows="15" id="textarea" placeholder="Enter text ..."></textarea>
<input name="mode" value="send" type="hidden">
<p style="margin-top:5px;"><input type="reset" value="Clear Text!" class="btn btn-danger"> <button type="submit" class="btn btn-primary">Send report</button></p>
</form>
【问题讨论】:
-
向我们展示 html 表单
-
你为什么要使用
mysql_real_escape_string()? -
@Dagon,我正在尝试获取姓名和电子邮件并将它们转换为字符串,以便将它们发送到我的电子邮件。我应该删除它们吗?顺便说一句,我将 html 表单添加到上面的代码中,请在几分钟后查看它。非常感谢。
-
如果表格正确,您只需要
$mail->Body = "User Information, Name = " . $_POST['part_fname'] . " || Email = " . $_POST['part_email']; -
@Dagon,现在附上 html。你能复习一下吗?谢谢。