我试图在phpMailer的帮助下为我的主页创建一个简单的SMTP联系表单,但它无法正常工作。它应该转发字段的信息"名称,邮件,主题,消息"到我的邮箱(在这种情况下"姓名,邮件,主题,消息")。输入字段也命名为"名称,邮件,主题,消息"在我的HTML代码中。
谁能告诉我自己做错了什么?谢谢你的任何建议。
<?
require('class.phpmailer.php');
require('class.smtp.php');
$mail = new PHPMailer();
$mail->CharSet = "utf-8";
$mail->IsSMTP();
$mail->Host = 'mail.gmx.de';
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Mailer = "ssl";
$mail->Password = "****";
$mail->Username = "test@gmx.com";
$mail->SMTPAuth = "true";
$mail->FromName = $_POST['name'];
$mail->AddAddress = $_POST['mail'];
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['message'];
if(!$mail->Send())
{
echo 'E-Mail not send.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
echo "<h5>" . 'Thanks for your message' . "</h5>";
}
?>
答案 0 :(得分:0)
错误消息显示您缺少收件人地址,您必须使用以下内容添加:
$mail->AddAddress("youemail@youremail.com", "Your Name");
//Your Name is optional. so alternatively you could do:
//$mail->AddAddress("youemail@youremail.com");
您引用的代码部分$mail->Username = "test@gmx.com";
只是设置用于通过SMTP服务器进行身份验证的用户名,而不是收件人地址。