无法发送PHP邮件!表格邮件

时间:2015-08-05 21:32:44

标签: php html email mailto

    <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);
?> 

我在这里有这个代码,但我似乎无法使用此代码发送邮件。我查看了其他帖子,但他们没有帮助我,因为我需要表单详细信息来发送邮件。

EDIT!你能告诉我代码中是否有什么问题吗?

3 个答案:

答案 0 :(得分:1)

你不能有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);
?> 

答案 1 :(得分:1)

尝试改变,

邮件($ to,$ subject,$ message,$ message2,$ headers);

邮件($ to,$ subject,$ message。&#39;&#39;。$ message2,$ header);

答案 2 :(得分:0)

如果您查看the manual page for the mail() function,您会看到它的原型需要5个参数,但它们与您在mail()的通话中指定的内容不匹配

  

bool mail(string $to,string $subject,string $message [,string $additional_headers [,string $additional_parameters]])

看起来您可能会同时尝试发送两条消息吗?因此,您的$message2参数将作为$headers所期望的mail()参数发送,并且您的实际标头将以$additional_parameters的形式发送。

如果您打算将它作为一个消息体发送,您可以将两个字符串连接成一个。否则,您可以多次致电mail()

N.B。

除非您明确发送htmlspecialchars() Content-type标题以及您的电子邮件,否则text/html无法帮助您,这一点值得注意。否则,您只是让消息更难阅读,因为默认情况下客户端可能会将其解释为plain/text