带Migadu的PHP编译器不工作
我正在使用Migadu邮件服务器和PHP Mailer设置一个简单的联系表单 这是PHP文件:带Migadu的PHP编译器不工作,php,phpmailer,Php,Phpmailer,我正在使用Migadu邮件服务器和PHP Mailer设置一个简单的联系表单 这是PHP文件: <?php require("includes/class.phpmailer.php"); require("includes/class.smtp.php"); $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $smtpHost
<?php
require("includes/class.phpmailer.php");
require("includes/class.smtp.php");
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$smtpHost = "smtp.migadu.com";
$smtpUsername = "info@mywebsite.com";
$smtpPassword = "mypassword";
$to = 'info@mywebsite.com';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Port = 587;
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
$mail->Host = $smtpHost;
$mail->Username = $smtpUsername;
$mail->Password = $smtpPassword;
$mail->From = $smtpUsername;
$mail->FromName = $name;
$mail->AddAddress($to);
$mail->AddReplyTo($email);
$mail->Subject = "Contact Form";
$body = '<h1>Contact!</h1>';
$body .= '<p><b>Name: </b>'.$name.'</p>';
$body .= '<p><b>Email: </b>'.$email.'</p>';
$body .= '<p><b>Message: </b>'.$message.'</p>';
$mail->Body = $body;
$sentStatus = $mail->Send();
if($sentStatus){
echo json_encode(['status' => 'ok']);
}else{
echo json_encode(['status' => 'error', 'errorType' => 'server']);
}
?>
但它没有发送邮件。此外,它没有抛出任何错误,只是永远卡在加载中。它没有显示任何错误,因为您没有显示任何错误-请查看
ErrorInfo
属性。PHPMailer提供的所有示例都可以做到这一点,因此我们来看看如何做到这一点
最有可能的是,它不是“永远卡住”,只是超时很长,这可能是因为您的ISP阻止出站SMTP,这是非常常见的。告诉你如何诊断。您的ISP可能有另一种发送电子邮件的方法,例如,他们可能提供自己的中继,因此您应该参考他们的文档。实际上,问题是前60天的数字海洋阻止SMTP,我尝试了故障排除指南中的
telnet
命令,但没有响应,所以我打开了一张罚单,他们告诉我。