无法发送 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/htmlContent-type header。否则,您只会使消息更难阅读,因为默认情况下客户端可能会将其解释为 plain/text