使用PHP的mail() - name.com托管问题

时间:2013-08-16 06:00:22

标签: php html email

我的网站托管在name.com上,为了测试这个,我在顶部上传了一个名为contact.php的简单文件。

<?php

$to = '~~~~';
$subject = 'enquiry from ';
$name = $_POST['name'];
$email - $_POST['email'];
$message = $_POST['message'];

if ($_POST){
mail($to, $subject, $message, $header);
$feedback = "Sent";
}
?>

因此,当我点击提交按钮时,它会发送邮件。在p标签内部,我有echo $ feedback,在我点击提交后显示。

邮件不发送?我在这里做错了什么,还是我需要以某种方式配置我的cPanel?

3 个答案:

答案 0 :(得分:0)

由于标题是可选的并且未定义,因此删除标题可以解决您的问题。

答案 1 :(得分:0)

你没有设置标题变量是可选的,设置$ email变量时有拼写错误,你使用 - 而不是=

您的更新代码,

<?php
    $to = 'a@a.com';
    $subject = 'enquiry from ';
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    if ($_POST){
        mail($to, $subject, $message);
        $feedback = "Sent";
    }
?>

答案 2 :(得分:0)

请注意,将$_POST内容直接用于电子邮件对您来说存在安全风险! 这是一个很好的电子邮件库,有避免滥用的工具。 (例如:ZendMailPHPmailer

话虽如此,您的代码上缺少标题并在$email =(不是-$_POST['email'];上犯了一个小错误,您可以使用此代码:

$header = 'From: from@name.com' . "\r\n" .
'Reply-To: from@name.com' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
'X-Mailer: PHP/' . phpversion();