【问题标题】:php, check if mail is validphp,检查邮件是否有效
【发布时间】:2015-03-24 13:41:34
【问题描述】:

我知道这个问题有很多解决方案,但我需要在联系表单中验证电子邮件。

到目前为止,这是我的 php 邮件:

<?php
if (isset($_POST['send'])){ 
     $to = "mail@mail.something"; 
     $subject = "new message"; 
     $firstname = $_POST['name'];
     $email = $_POST['email'];
     $message = $_POST['message']; 
     $headers = "From: $email"; 
     $sent = mail($to, $subject, $message, $headers) ; 
     if($sent) 
     {echo "<script>alert('thanks for the message:) ');</script>"; 
    }else
        {echo "<script>alert('sorry, message wasn't send');</script>"; }
    }
?>

我已经尝试过 filter_var

$result = filter_var( 'something@something.something', FILTER_VALIDATE_EMAIL );

但是,不起作用。

如果我通过联系表发送邮件的方式不是“最佳实践方式”,请随时纠正我并按正确的方式发送邮件:D

【问题讨论】:

  • Validate Email in php 的可能重复项
  • 为什么filter_var 不起作用?
  • 输入error_reporting(E_ALL);并检查是否有错误
  • 我会尝试 :) 卢克,我知道,但我尝试了一些不同的方法,但它仍然不起作用,这就是我问的原因。 Mischa,是的:我也想知道......
  • “但是,不起作用。”什么也没告诉我们。启用错误报告并告诉我们错误代码

标签: php email


【解决方案1】:

如果您向我们展示您的 HTML,我们可以提供进一步的帮助,但仅使用您的 PHP,我们没有太多的工作可做。

error_reporting(E_ALL);ini_set('display_errors', 1); 添加到您的php 页面顶部以打印您的错误。

我不确定是什么导致了您的错误。但我希望您尝试以下代码。用这个替换你的 if 语句。

未来注意,要在 php 中添加 javascript 警报,您应该这样格式化,

if(mail($to, $subject, $message, $headers))
{
    echo '<script language="javascript">'; //echo open tag
    echo 'alert("Your message has been sent")'; // echo alert
    echo '</script>'; //echo close tag
}else{
    echo '<script language="javascript">';
    echo 'alert("Your message was not successful")';
    echo '</script>'; 
}

【讨论】:

  • 欢迎您,尝试替换您的整个 if 语句并将邮件发送到此答案的底部 php 代码。如果您有任何错误,请回帖。
  • 如果这不能满足您的需求,请在此处查看最佳答案stackoverflow.com/questions/5855811/…
猜你喜欢
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-03
  • 2012-04-13
  • 2010-12-19
相关资源
最近更新 更多