使用本地主机作为服务器时,在php中通过电子邮件确认注册


email confirmation on signup in php while using local host as aserver

我是php和web开发的新手。我正在尝试通过在用户的电子邮件上发送确认消息来确认用户的注册电子邮件。但它不起作用,是我使用localhost作为服务器的问题还是其他问题?这是我的代码

 {
   $to = $_POST['email'];
 $com_code = md5(uniqid(rand()));
   $subject = "Confirmation from OnlineShopping to $_POST['username']";
   $header = "OnlineShopping: Confirmation from OnlineShopping";
   $message = "Please click the link below to verify and activate your account. rn";
   $message .= "http://www.yourname.com/confirm.php?passkey=$com_code";
   $sentmail = mail($to,$subject,$message,$header);
   if($sentmail)
            {
   echo "Your Confirmation link Has Been Sent To Your Email Address.";
   }
   else
         {
    echo "Cannot send Confirmation link to your e-mail address";
   }
  }  

我的if($sentmail)条件即将实现,我收到消息,您的确认链接已发送到您的电子邮件地址,但我的收件箱中没有收到任何电子邮件

如今,ISP通常会阻止任何smtp活动,您需要一个合适的邮件服务器。最简单的是使用gmailsmtp服务器发送邮件,只是为了让你继续。

有很多方法可以做到这一点,只需搜索"gmail-smtp-php",你就会得到一堆文章。

您需要一个主机来用php发送电子邮件。我建议你使用.tk作为免费域名,使用hostinger作为免费主机。所以你可以使用这个函数来测试你的东西。

但是您也可以尝试更改php.ini文件。http://www.php.net/manual/en/mail.configuration.php