我有一个包含PHPMailer的php页面。显然它在测试服务器和生产服务器中都有效。它是在一个单独的php文件中,但由于我需要在屏幕上发送不同类型的电子邮件和不同的警报消息,我将我的代码放在与我的表单相同的php文件中。
我做的是:
if(isset($_POST))
{
require_once('PHPMailer/class.phpmailer.php');
$mail = new PHPMailer(true);
if(isset($_POST['feedback_mail']))
{
$mail->Host = "my mail host"; // SMTP server
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Username = "the account that I will be using"; // SMTP account username
$mail->Password = "my password";
$mail->AddReplyTo($_POST['Email'], $_POST['Name']);
$mail->AddAddress('address to where I will send it', 'Name');
$mail->SetFrom($_POST['Email'], $_POST['Name']);
$mail->Subject = 'Subject'.$_POST['Subject'];
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML($_POST['Body']);
$mail->Send();
$marker = 1;
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
$marker = 0;
} else {
$marker = 1;
}
}
}
当我尝试发送电子邮件时,它说邮件已发送,但我已经等了将近一个小时,但我的电子邮件仍然没有收到邮件。我知道我的测试服务器允许发送电子邮件,因为我还有另一个可以发送邮件的应用程序。我使用相同的帐户发送这些邮件。我怎么知道PHPMailer是否真的有效?
编辑:我发现可能是我的本地网络连接正在停止邮件。我刚尝试在VPN连接上运行from,并以某种方式收到了一封电子邮件。
我的网络连接出现问题或服务器故意阻止来自我国的IP。