变量等于变量将不起作用

时间:2015-01-10 00:44:06

标签: php

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

$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']);

哪个帖子[&#39; e&#39;]是用户放入的电子邮件

编辑x3 经过一些测试我发现了一些东西 当我做的时候

 $to = 'myemail@gmail.com';

它没有发送 但是

$to = 'myemail@hotmail.com';

它有效,所以我猜它不会发送给gmails?

1 个答案:

答案 0 :(得分:2)

听起来你想从表单提交中获取'e'查询参数。如果是这种情况,请试试这个:

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

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

$to = $_REQUEST['e'];