我收到“无效的电子邮件地址”
所有都是硬编码进行测试,缺少什么?谢谢!
<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>
答案 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
答案 2 :(得分:1)
首先,不要使用$HTTP_POST_VARS
,现在是$_POST
。
其次,通过编写$HTTP_POST_VARS['jaaanman2324@gmail.com']
,您正在寻找带有juanman234@gmail.com
密钥的表元素。
那不是你想要做的。
如果您想对其进行硬编码,请写
$email = 'jaaanman2324@gmail.com';`
如果没有,请写
$email = $_POST['email'];
从表单中获取email
字段。