与$mail一起发布->;PHPMailer中的主体
这里的初学者 我已经检查了论坛以找出答案,但我没有成功,其他问题是专门针对PHPMailer的某些部分的,但我的问题更一般。所以,我希望没有人会像我在学习曲线中一样把我的问题标记为重复 我正在从事一个PHP项目。它的工作原理是用户进入页面,在表单(文本编辑器)中编写一些注释,然后单击send按钮。我能在电子邮件中收到他的信息。我已经设置了密码和主机空的明显原因,但后来它将是我的真正的电子邮件与我自己的域 这里有两个问题:与$mail一起发布->;PHPMailer中的主体,php,email,Php,Email,这里的初学者 我已经检查了论坛以找出答案,但我没有成功,其他问题是专门针对PHPMailer的某些部分的,但我的问题更一般。所以,我希望没有人会像我在学习曲线中一样把我的问题标记为重复 我正在从事一个PHP项目。它的工作原理是用户进入页面,在表单(文本编辑器)中编写一些注释,然后单击send按钮。我能在电子邮件中收到他的信息。我已经设置了密码和主机空的明显原因,但后来它将是我的真正的电子邮件与我自己的域 这里有两个问题: 我不想发送带有$mail->body的静态正文,但我希望程序获取用户的消
- 我不想发送带有$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>
发送报告
删除mysql\u real\u escape\u string
它需要连接到mysql
$Name = $_POST['part_fname'];
$Email = $_POST['part_email'];
$message= $_POST['bug'];//add this to get the textarea value
然后将值附加到主体:
$mail->Body = "User Information, Name = " . $Name . " || Email = " . $Email;
$mail->Body .= "Message: ".$message;
如果你想参加会议 用户何时登录:
session_start();
$_SESSION['part_fname'] = $Name;
$_SESSION['part_email'] = $Email;
发送电子邮件时:
session_start();
$Name = $_SESSION['part_fname'];
$Email = $_SESSION['part_email'];
$message= $_POST['bug'];
您需要在表单中添加姓名和电子邮件字段,如下所示:
<input name="part_fname" value="" type="text">
<input name="part_email" value="" type="text">
向我们展示html表单为什么您要使用
mysql\u real\u escape\u string()
。@Dagon,我正在尝试获取姓名和电子邮件,并将其转换为字符串,以便发送到我的电子邮件中。我应该删除它们吗?顺便说一下,我正在将html表单添加到上述代码中,请在几分钟后查看。非常感谢。如果表单正确,您只需要$mail->Body=“User Information,Name=”即可$_POST['part_fname']。“|| Email=”$_发布['part_email']代码>@Dagon,现在已附加html。你能复习一下吗?谢谢。您好@meda,这段代码很有效,但我的电子邮件中的结果如下:用户信息,名称=| |电子邮件=消息:您好,这是一个bug。。。这意味着现在它会向我发送用户消息,但不会发送电子邮件和姓名。有什么建议吗?您需要在表单中添加字段,请参见dagon answer the HTMLYes true,它将与字段一起工作,但我的要求是,我不应该有任何字段来获取用户的姓名和电子邮件。用户已使用其用户名和电子邮件登录,因此应该有一种方法可以获取电子邮件和用户名,而无需再次输入。我说得对吗?如果是,你有什么建议吗?非常感谢您使用session,您的意思是:$Name=$\u session['part\u fname'$电子邮件=$_会话['part_Email']$message=$\u POST['bug'];不幸的是,即使我使用了你的会话建议,它仍然没有从会话中获得名称和电子邮件!是真的,它将与该领域的工作,但我的要求说,我不应该有任何领域,以获得用户的姓名和电子邮件。用户已使用其用户名和电子邮件登录,因此应该有一种方法可以获取电子邮件和用户名,而无需再次输入。我说得对吗?如果是,你有什么建议吗?非常感谢。用户详细信息在会话中吗?我怎么可能知道呢?是的,你认为我们可以用这个:$Name=$\u SESSION['part\u fname']$电子邮件=$_会话['part_Email']$message=$\u POST['bug'];是的,jsut确保使用session_start()代码>在访问这些变量之前幸运的是,在使用会话后,它仍然无法从会话中获取名称和电子邮件!
$Name = $_POST['part_fname'];
$Email = $_POST['part_email'];
$message= $_POST['bug'];// textarea value
$mail->Body = "User Information, Name = " . $Name . " || Email = " . $Email;
$mail->Body .= "Message: ".$message;