在plesk控制面板中使用php mail()发送邮件

在plesk控制面板中使用php mail()发送邮件,php,email,plesk,Php,Email,Plesk,这是我的代码: <?php if ( isset($_POST['send']) ) { $name = $_POST['name']; $to = 'kiarash@gmail.com'; $subject = 'Test Sending'; $message = 'This is Test for sending Mail'; $header = 'Content-type: text/plain; charset="utf-8"' . "\r\n" .

这是我的代码:

<?php
if ( isset($_POST['send']) ) {
$name = $_POST['name'];

$to = 'kiarash@gmail.com';  
$subject = 'Test Sending';
$message = 'This is Test    for sending Mail';
$header = 'Content-type: text/plain; charset="utf-8"' . "\r\n" .
                    'From: test@site.ir' . "\r\n" .
                    'Replt-To: test@site.ir' . "\r\n";

$mailsent = mail($to, $subject, $message, $header);
echo "this is mail sent---> " . $mailsent;
}
?>

这个HTML代码:

<form action="#" method="post" name="frm">
    <input type="text" name="name" />
  <input type="submit" value="send" name="send" />
</form>

我的主人是平行的普莱斯克。。。但是邮件没有发送到

我有什么问题?你有什么想法或建议给我吗

这是完整的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
if ( isset($_POST['send']) ) {
$name = $_POST['name'];

ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);



$to = 'kiarash@gmail.com';  
$subject = 'Test Sending';
$message = 'This is Test    for sending Mail';
$header = 'Content-type: text/plain; charset="utf-8"' . "\r\n" .
                    'From: info@site.ir' . "\r\n" .
                    'Reply-To: info@site.ir' . "\r\n";

$mailsent = mail($to, $subject, $message, $header);

if($mailsent){
echo "success";
}else{
echo "not sent";
}
}
?>
<form action="#" method="post" name="frm">
    <input type="text" name="name" />
  <input type="submit" value="send" name="send" />
</form>
</body>
</html>

无标题文件
试着放

ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
在PHP代码的顶部

另外,替换

echo "this is mail sent---> " . $mailsent;

因为
$mailssent
不是字符串,所以不应该尝试回显它


创建一个
php\u info()
文件并检查邮件参数也可能有帮助。

试试这个,你的邮件头很时髦。测试了这个,它工作了

<?php
    ini_set('error_reporting', E_ALL);
    error_reporting(E_ALL);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    <?php
    if (isset($_POST['send'])) {
        $name = $_POST['name'];
        $from = "info@site.ir";
        $to = 'kiarash@gmail.com';  
        $subject = 'Test Sending';
        $message = 'You got a message from '. $name;
        $headers = array(
            'MIME-Version: 1.0',
            'Content-Type: text/html; charset="UTF-8";',
            'Content-Transfer-Encoding: 7bit',
            'Date: ' . date('r', $_SERVER['REQUEST_TIME']),
            'From: ' . $from,
            'Reply-To: ' . $from,
            'Return-Path: ' . $from
        );
        $mailsent = mail($to, $subject, $message, implode("\n", $headers));
        if($mailsent){
            echo "success";
        }else{
            echo "not sent";
        }
    }
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="frm">
        <input type="text" name="name" />
        <input type="submit" value="send" name="send" />
    </form>
</body>
</html>

无标题文件

你检查过垃圾邮件吗?你从echo上得到了什么?($mailsent)是0还是1@KasunRajapaksha没有什么,只有我用echo写的字符串文本!!!我正在使用带有XHTML DOCTYPE的页面。。。也许这就是问题所在!!!你觉得怎么样?
回复到
看起来像是打字错误。但一般来说,如果你通过PHP发送邮件,我强烈建议你使用一个像样的邮件库,比如SwiftMailer的PHPMailer;使用PHP内置的
mail()
函数总是会给您带来问题;这很难处理。我使用了你的建议,但没有说明,错误报告不起作用,如果条件是(未发送)的答案!这是我主机上关于PHP_INFO()的错误日志[Thu Sep 26 09:40:55 2013][warn][client 1.111.11.111]mod_fcgid:stderr:PHP致命错误:调用/var/www/vhosts/site.ir/httpdocs/index.PHP第30行中未定义的函数PHP_INFO(),参考者:我用整页代码更新了这个问题。。。请看一看。我复制了你的代码并粘贴在一个页面上,没有任何更改,但答案仍然是((未发送))!!!我真的很高兴confused@Kiyarash-您是在本地主机上运行还是在实时服务器上运行?如果是localhost,则需要安装邮件服务器。如果live server创建一个新文档,并将其放入
并运行。将内容粘贴到某个地方并链接到它。我在带有plesk控制面板的live server中。亲爱的Adelphia,我下载了PHPMailer并在这个框架上工作了一段时间,最后我可以用服务器发送邮件。。。我感谢你的关注。。。
<?php
    ini_set('error_reporting', E_ALL);
    error_reporting(E_ALL);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    <?php
    if (isset($_POST['send'])) {
        $name = $_POST['name'];
        $from = "info@site.ir";
        $to = 'kiarash@gmail.com';  
        $subject = 'Test Sending';
        $message = 'You got a message from '. $name;
        $headers = array(
            'MIME-Version: 1.0',
            'Content-Type: text/html; charset="UTF-8";',
            'Content-Transfer-Encoding: 7bit',
            'Date: ' . date('r', $_SERVER['REQUEST_TIME']),
            'From: ' . $from,
            'Reply-To: ' . $from,
            'Return-Path: ' . $from
        );
        $mailsent = mail($to, $subject, $message, implode("\n", $headers));
        if($mailsent){
            echo "success";
        }else{
            echo "not sent";
        }
    }
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="frm">
        <input type="text" name="name" />
        <input type="submit" value="send" name="send" />
    </form>
</body>
</html>