我需要你的帮助。可能很简单,但由于我是PHP的新手,我无法弄清楚是什么导致了这个问题。
我正在尝试设置一个带附件的简单联系表单,并通过phpmailer发送这些信息。我通过xampp测试它。但即使在我按下发送按钮之前,它显示:Could not instantiate mail function
当我在联系表格中输入某位并按下按钮时,它会显示相同的错误。我可能在代码中完全错了吗?
所以这是我的HTML:
<form method="post">
<input style="width: 100%;" type="text" name="name" placeholder="Ihr Name..." required/><br>
<input style="width: 100%;" type="email" name="email" placeholder="Ihre Email-Adresse..." required/><br>
<input style="width: 100%;" type="text" name="phone" placeholder="Ihre Telefonnummer..." /><br>
<textarea style="padding: 10px 12px; width: 100%;"name="quote" rows="6" placeholder="Ihre Nachricht..." required></textarea><br>
<input name="uploaded_file" type="file" size="50" style="margin-top: 10px;">
<button type="submit" class="button" name="Send" style="width:100%; margin-top:10px; text-align: center;">Anfrage absenden!</button>
</form>
这是我的php:
<?php
//Klasse einbinden
require('class.phpmailer.php');
//Instanz von PHPMailer bilden
$mail = new PHPMailer();
//Absenderadresse der Email setzen
$mail->From = $_POST['email'];
//Name des Absenders setzen
$mail->FromName = $_POST['name'];
//Empfängeradresse setzen
$mail->AddAddress("example@gmx.de");
//Betreff der Email setzen
$mail->Subject = "Anfrage via Website";
//Text der EMail setzen
$mail->Body = $_POST['quote'];
if (isset($_FILES['uploaded_file']) &&
$_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['uploaded_file']['tmp_name'],
$_FILES['uploaded_file']['name']);
}
//EMail senden und überprüfen ob sie versandt wurde
if(!$mail->Send())
{
//$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten
echo "Die Email konnte nicht gesendet werden";
echo "Fehler: " . $mail->ErrorInfo;
}
else
{
//$mail->Send() liefert TRUE zurück: Die Email ist unterwegs
echo '<p>Vielen dank für Ihre Anfrage. Sie erhalten in Kürze Ihr Angebot von mir!</p>';
}
?>
你知道吗,我在这里做错了什么?谢谢你的帮助! : - )
PS:你有什么建议,把它作为一个安全的表格,因为它可能包含敏感的附件(我实施了SSL)?