我创建了一个联系表单,将信息发送到我的电子邮箱,每当我提交表单时,我都会被重定向到我的php文件(mywebsite.com/contact.php)并显示内部服务器错误(500种) 。我做错了什么?可能是因为我的html和php代码在不同的文件中?我也包括了我的联系表格,以防它是相关的。
<?php
if(isset($_POST['submit']))
{
$message=
'Full Name: '.$_POST['name'].'<br/>
Comments: '.$_POST['comments'].'<br/>
Email: '.$_POST['email'].'
';
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mail.yahoo.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'aroncea@yahoo.com'; // SMTP username
$mail->Password = 'letmejusteditthisout'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom($_POST['email'], $_POST['name']);
$mail->addReplyTo($_POST['email'], $_POST['name']);
$mail->addAddress('aroncea@yahoo.com'); // Add a recipient
$result = $mail->Send();
$message = $result ? 'Successfully sent!' : 'Sending Failed!';
unset($mail);
$mail->Subject = "New Form Submission";
$mail->MsgHTML($message);
?>
<!-- Container (Contact Section) -->
<form action="newcontact.php" method="POST" name='contactform' id='contactform' enctype="text/plain">
<div id="contact" class="container-fluid bg-grey">
<h2 class="text-center">CONTACT</h2>
<div class="row">
<div class="col-sm-5">
<p>Contact us and we'll get back to you within 24 hours. </p>
<p><span class="glyphicon glyphicon-map-marker"></span> Burlington, ON</p>
<p><span class="glyphicon glyphicon-phone"></span> 289-230-4510</p>
<p><span class="glyphicon glyphicon-envelope"></span> aroncea@yahoo.com</p>
</div>
<div class="col-sm-7 slideanim">
<div class="row">
<div class="col-sm-6 form-group">
<input class="form-control" id="name" name="name" placeholder="Name" type="text" required>
</div>
<div class="col-sm-6 form-group">
<input class="form-control" id="email" name="email" placeholder="Email" type="email" required>
</div>
</div>
<textarea class="form-control" id="comments" name="comments" placeholder="Comment (not required)" rows="3"></textarea><br>
<div class="row">
<div class="col-sm-12 form-group">
<input type="submit" name="submit" value="Submit" />
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
您在PHP文件中缺少}
。 (您在{
- 语句后打开if
但从未关闭它。)
有500个错误,通常有助于检查服务器错误日志。
答案 1 :(得分:0)
在$mail->Send();
之前分配您的留言和主题并关闭}
。
试试这段代码。
if(isset($_POST['submit']))
{
$message=
'Full Name: '.$_POST['name'].'<br/>
Comments: '.$_POST['comments'].'<br/>
Email: '.$_POST['email'].'
';
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mail.yahoo.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'aroncea@yahoo.com'; // SMTP username
$mail->Password = 'letmejusteditthisout'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom($_POST['email'], $_POST['name']);
$mail->addReplyTo($_POST['email'], $_POST['name']);
$mail->addAddress('aroncea@yahoo.com'); // Add a recipient
$mail->Subject = "New Form Submission";
$mail->MsgHTML($message);
$result = $mail->Send();
$message = $result ? 'Successfully sent!' : 'Sending Failed!';
unset($mail);
}
我希望它会有所帮助