我出现这个错误的原因很简单,因为我的主机提供商不允许通过服务器发送电子邮件,只允许个人使用。感谢ManuelOtto回答了我的上述问题。
因此,如果其他人也遇到同样的错误,请检查您的主机是否允许通过托管服务器发送电子邮件。如果不是这样,请联系您的主机提供商,因为这很可能是webhoster端的问题。
我仍然可以在不使用SMTP的情况下使用联系人表单,只需删除我在PHP代码中列出的所有SMTP信息。
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'assets/vendor/autoload.php';
/**
* This example shows how to handle a simple contact form.
*/
$msg = '';
if (array_key_exists('email', $_POST)) {
date_default_timezone_set('Etc/UTC');
$mail = new PHPMailer;
$mail->setFrom('the@smtp.email');
$mail->addAddress('the@email-receiver.com');
if ($mail->addReplyTo($_POST['email'], $_POST['name'])) {
$mail->Subject = 'PHPMailer contact form';
$mail->isHTML(false);
$mail->Body = <<<EOT
Email: {$_POST['email']}
Name: {$_POST['name']}
Message: {$_POST['message']}
EOT;
if (!$mail->send()) {
$msg = 'Sorry, something went wrong. Please try again later.';
} else {
$msg = 'Message sent! Thanks for contacting us.';
}
} else {
$msg = 'Invalid email address, message ignored.';
}
}
?>
祝你好运