php邮件没有发送“无效的电子邮件地址”

时间:2013-10-18 16:23:21

标签: php email

我收到“无效的电子邮件地址”

所有都是硬编码进行测试,缺少什么?谢谢!

<html>
<head><title>PHP Mail Sender</title></head>
<body>
<?php

/* All form fields are automatically passed to the PHP script through the array $HTTP_POST_VARS. */
$email = $HTTP_POST_VARS['example@example.com'];
$subject = $HTTP_POST_VARS['subjectaaa'];
$message = $HTTP_POST_VARS['messageeeee'];

/* PHP form validation: the script checks that the Email field contains a valid email address and the Subject field isn't empty. preg_match performs a regular expression match. It's a very powerful PHP function to validate form fields and other strings - see PHP manual for details. */

if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {
  echo "<h4>Invalid email address</h4>";
  echo "<a href='javascript:history.back(1);'>Back</a>";
} elseif ($subject == "") {
  echo "<h4>No subject</h4>";
  echo "<a href='javascript:history.back(1);'>Back</a>";
}

/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */
elseif (mail($email,$subject,$message)) {
  echo "<h4>Thank you for sending email</h4>";
} else {
  echo "<h4>Can't send email to $email</h4>";
}
?>
</body>
</html>

3 个答案:

答案 0 :(得分:3)

更改

$email = $HTTP_POST_VARS['jaaanman2324@gmail.com'];
$subject = $HTTP_POST_VARS['subjectaaa'];
$message = $HTTP_POST_VARS['messageeeee'];

$email ='jaaanman2324@gmail.com';
$subject ='subjectaaa';
$message = 'messageeeee';

答案 1 :(得分:2)

我认为你希望它像这样硬编码:

$email = 'jaaanman2324@gmail.com';

否则,您尝试使用jaaanman2324@gmail.com

键获取HTTP_POST_VARS的值

答案 2 :(得分:1)

首先,不要使用$HTTP_POST_VARS,现在是$_POST

其次,通过编写$HTTP_POST_VARS['jaaanman2324@gmail.com'],您正在寻找带有juanman234@gmail.com密钥的表元素。 那不是你想要做的。

如果您想对其进行硬编码,请写

$email = 'jaaanman2324@gmail.com';`

如果没有,请写

$email = $_POST['email'];

从表单中获取email字段。