变量等于变量将不起作用


Variable equals variable will not work

现在我正在处理我的注册和激活电子邮件,我有一个问题,它不会发送电子邮件,是的,我已经测试过了,我已经设置

$to = 'myemail@example.com'; 

之前到我的电子邮件,它已经工作了,但是当我有

$to = $e;

它不起作用我有检查,它确实使用户输入的电子邮件进入一个变量,该变量是$e所以我不知道问题是什么,如果有人可以帮助那会很棒

这是邮件表格:

 mail($to, $subject, $message, $headers);

编辑:这是我的整个邮件代码

 $to = $e;                           
    $from = "auto_responder@mywebsite.com";
    $subject = 'Account Activation Success';
    $message = '<html>Success</html>';
    $headers = "From: $from'n";
    $headers .= "MIME-Version: 1.0'n";
    $headers .= "Content-type: text/html; charset=iso-8859-1'n";
    mail($to, $subject, $message, $headers);
    echo "signup_success";
    exit();

编辑 x2:我觉得这永远不会被发现我什至试过这个

 $to = mysqli_real_escape_string($db_conx, $_POST['e']);

哪个帖子['e']是用户输入的电子邮件

编辑 x3经过一些测试,我注意到了一些东西当我这样做时

 $to = 'myemail@gmail.com';

它不发送但与

$to = 'myemail@hotmail.com';

它可以工作,所以我想它不会发送到Gmail?

听起来您想从表单提交中获取"e"查询参数。 如果是这种情况,请尝试以下操作:

$to = filter_input(INPUT_GET, 'e', FILTER_VALIDATE_EMAIL);

如果您的表单使用 POST,请换入INPUT_POST而不是INPUT_GET。 如果你不关心过滤或没有过滤器扩展,你可以这样做,它适用于GET和POST。

$to = $_REQUEST['e'];