3

我正在制作一个用于从用户那里收集数据的系统。我知道有些会是垃圾邮件!我只想知道如果电子邮件不正确,邮件功能是否返回false?

说我有。

   <?php

    $to = "fake@fake.com";
    $header = "From: {$to}";
    $subject = "Hi!";
    $body = "Hi,\n\nHow are you?";

    if (mail($to, $subject, $body, $header)) {
          echo("<p>Message successfully sent!</p>");
    } else {
          echo("<p>Message delivery failed...</p>");
    }

   ?>

如果电子邮件不正确,将打印哪条消息?

如果它确实返回 false,我希望将一个“标志”与它一起存储在该数据库中,以便管理员可以查看并删除它。

4

3 回答 3

6

不必要。

根据手册,如果消息被接受传递,该mail()函数将返回true- 但不保证它会被传递:

如果邮件被成功接受传递,则返回 TRUE,否则返回 FALSE。

重要的是要注意,仅仅因为邮件被接受交付,并不意味着邮件实际上会到达预定目的地。

于 2012-08-15T14:21:13.260 回答
3

服务器只能告诉您邮件是否被接受传递。除非你写了一个无效的电子邮件地址或类似的“没有电子邮件”,所以服务器会拒绝它,那么不,可悲的是,它只能说“是的,邮件被放入了电子邮局”或“不”它不是“它不能告诉你它是否到达那里,阅读,或以其他方式。

于 2012-08-15T14:20:57.757 回答
1

在您在评论中概述的情况下

fake@gmail.com

就邮件系统而言,这是一个有效的电子邮件地址。

消息发送成功!

将显示。邮件功能不保证能到达收件人。在你问它不可能检查之前。

于 2012-08-15T14:28:34.537 回答