无法发送 PHP 封邮件!表格邮件
Can't send PHP mail! Form mail
<form action="" enctype="text/plain" method="post">
<textarea name="link" style="margin-left: 0px; margin-right: 0px; width: 591px;" cols="1" rows="1" placeholder="Link"></textarea>
<textarea name="username" style="margin-left: 0px; margin-right: 0px; width: 591px;" cols="1" rows="1" placeholder="Username"></textarea>
<input type="submit" value="send" /></form>
<div style="color: red;">*Warning</div>
- Do not submit the request more than once if you do not want duplicate items.
<?php
$to = 'admin@bdeas.com';
$subject = 'Market Purchase';
$message = htmlspecialchars($_POST['username']);
$message2 = htmlspecialchars($_POST['name'])
$headers = 'From: admin@bdeas.com' . "\r\n" .
'Reply-To: admin@bdeas.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $message2, $headers);
?>
我这里有这个代码,但我似乎无法获得这个代码来发送邮件。我查看了其他帖子,但它们对我没有帮助,因为我需要表格详细信息才能发送邮件。
编辑!代码有什么问题可以告诉我吗?
你不能有 2 条这样的消息。您需要将最终消息的所有部分连接成一个字符串。如果您想同时包含它们,请执行以下操作:
<?php
$to = 'admin@bdeas.com';
$subject = 'Market Purchase';
$message = $_POST['username'] . '<br />' . $_POST['name'];
$headers = 'From: admin@bdeas.com' . "\r\n" .
'Reply-To: admin@bdeas.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
努力改变,
邮件($to, $subject, $message, $message2, $headers);
至
mail($to, $subject, $message.' '.$message2, $headers);
如果您查看 the manual page for the mail()
function,您会看到它的原型有 5 个参数,但它们与您在调用 mail()
.[=28 时指定的参数不匹配=]
bool mail ( string $to
, string $subject
, string $message
[, string $additional_headers
[, string $additional_parameters
]] )
您似乎正试图同时发送两条消息,可能吗?因此,您的 $message2
参数将作为 mail()
期望的 $headers
参数发送,而您的实际 header 将作为 $additional_parameters
.[=28= 发送]
如果您打算将所有内容作为一条消息发送 body,您可以将两个字符串连接成一个。否则你可以多次调用 mail()
。
N.B.
这里可能值得注意的是 htmlspecialchars()
对您没有帮助,除非您在电子邮件中明确发送 text/html
的 Content-type
header。否则,您只会使消息更难阅读,因为默认情况下客户端可能会将其解释为 plain/text
。
<form action="" enctype="text/plain" method="post">
<textarea name="link" style="margin-left: 0px; margin-right: 0px; width: 591px;" cols="1" rows="1" placeholder="Link"></textarea>
<textarea name="username" style="margin-left: 0px; margin-right: 0px; width: 591px;" cols="1" rows="1" placeholder="Username"></textarea>
<input type="submit" value="send" /></form>
<div style="color: red;">*Warning</div>
- Do not submit the request more than once if you do not want duplicate items.
<?php
$to = 'admin@bdeas.com';
$subject = 'Market Purchase';
$message = htmlspecialchars($_POST['username']);
$message2 = htmlspecialchars($_POST['name'])
$headers = 'From: admin@bdeas.com' . "\r\n" .
'Reply-To: admin@bdeas.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $message2, $headers);
?>
我这里有这个代码,但我似乎无法获得这个代码来发送邮件。我查看了其他帖子,但它们对我没有帮助,因为我需要表格详细信息才能发送邮件。
编辑!代码有什么问题可以告诉我吗?
你不能有 2 条这样的消息。您需要将最终消息的所有部分连接成一个字符串。如果您想同时包含它们,请执行以下操作:
<?php
$to = 'admin@bdeas.com';
$subject = 'Market Purchase';
$message = $_POST['username'] . '<br />' . $_POST['name'];
$headers = 'From: admin@bdeas.com' . "\r\n" .
'Reply-To: admin@bdeas.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
努力改变,
邮件($to, $subject, $message, $message2, $headers);
至
mail($to, $subject, $message.' '.$message2, $headers);
如果您查看 the manual page for the mail()
function,您会看到它的原型有 5 个参数,但它们与您在调用 mail()
.[=28 时指定的参数不匹配=]
bool mail ( string
$to
, string$subject
, string$message
[, string$additional_headers
[, string$additional_parameters
]] )
您似乎正试图同时发送两条消息,可能吗?因此,您的 $message2
参数将作为 mail()
期望的 $headers
参数发送,而您的实际 header 将作为 $additional_parameters
.[=28= 发送]
如果您打算将所有内容作为一条消息发送 body,您可以将两个字符串连接成一个。否则你可以多次调用 mail()
。
N.B.
这里可能值得注意的是 htmlspecialchars()
对您没有帮助,除非您在电子邮件中明确发送 text/html
的 Content-type
header。否则,您只会使消息更难阅读,因为默认情况下客户端可能会将其解释为 plain/text
。