现在我正在处理我的注册和激活电子邮件,我有一个问题,它不会发送电子邮件,是的,我已经测试过了,我已经设置
$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'];