现在我正在处理我的注册和激活电子邮件,我有一个问题,它不会发送电子邮件,是的,我已经测试过,我已经设置
$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?
答案 0 :(得分:2)
听起来你想从表单提交中获取'e'查询参数。如果是这种情况,请试试这个:
$to = filter_input(INPUT_GET, 'e', FILTER_VALIDATE_EMAIL);
如果您的表单使用POST,则交换INPUT_POST而不是INPUT_GET。如果您不关心过滤或没有过滤器扩展,您可以这样做,这适用于GET和POST。
$to = $_REQUEST['e'];