我有一个相当简单的脚本来发送来自网站的邮件。网站老板告诉我,它在几天前工作正常,它停止工作。 电子邮件应该发送到mail@googleapps.com帐户。当我更改收货地址时,我会收到一封电子邮件,这就是有趣的事情!之后我会发送数百万封电子邮件,他们不会再来了。电子邮件不在垃圾邮件文件夹中他们只是陷入了困境!
Hoster给我发了这个:
Sep 17 12:45:03 pemlinweb448 sendmail[19595]: s8HBj3ri019595: from=r258197@pemlinweb448.hoster.com, size=760, class=0, nrcpts=1, msgid=201409171145.s8HBj3IM019594@pemlinweb448.hoster.com, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Sep 17 12:45:03 pemlinweb448 sendmail[19594]: s8HBj3IM019594: to=mail@googleapps.com, ctladdr=r258197 (258197/10003), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30510, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s8HBj3ri019595 Message accepted for delivery)
此日志表明收件人邮件服务器接受了电子邮件,但现在知道发生了什么。
简要说明这里的长话短说法是代码:
HTML(index.html):
<form name="form1" class="1form" method="post" action="mail.php">
<input type="text" class="formfields" name="name" id="name" value="" required>
<label for="name " class="formlabletext">Name</label>
<input type="text" class="formfields" name="phone" id="phone" value="012345678">
<label for="phone" class="formlabletext">Tel.</label>
<input type="email" class="formfields" name="mail" id="mail" value="" required>
<label for="mail" class="formlabletext">E-mail</label>
<input name="submitbtn2" class="submits2" type="submit" value="Register!"></div>
</form>
PHP(mail.php):
if(isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['mail'])) {
if(empty($_POST['name']) || empty($_POST['mail'])) {
echo "Oops! Fields are empty!";
} else {
$name = strip_tags($_POST['name']);
$phone = strip_tags($_POST['phone']);
$email = strip_tags($_POST['mail']);
$subject = 'Some super-duper subject!';
$message = 'Some Message';
$to = "mail@googleapps.com";
$headers = "From: $name <$email>" . "\r\n" .
"Reply-To: $email" . "\r\n";
mail($to, $subject, $message, $headers);
echo " Mail Sent! SUCCESS!"
};
} else {
echo " Some ERROR! ";
};
在摆弄后,我发现要解决这个问题,我必须使用自己的SMTP而不是mail@hostsdg4wg.myhostingprovider.com发送邮件。 所以现在我必须为一些phpmailer重写整个代码,但这是另一个故事。
另一个有趣的事情是,如果我简单地将脚本简化为
,邮件就会出现$name = "Alex 101";
$mail = "mail@mail.com";
$to = "mail@googleapps.com";
$headers = "From: $name <$mail>" . "\r\n" .
"Reply-To: $mail" . "\r\n";
$message = 'Some Text;
if (mail ( $to, "Test mail", $message, $headers )) {
echo "Sent to $to!";
} else {
echo "Oops!";
};
它真的有效!我重新加载文件时收到了每封电子邮件。 所以我不明白为什么它起作用然后突然停止了?为什么扩展脚本不起作用但简化了呢?邮件()很遗憾似乎没有任何debbuging选项,所以我没有得到任何错误,我不知道从哪里开始解决这个错误。< / p>
我的逻辑可能有问题吗?
期待您的想法和建议。