【发布时间】:2013-09-26 23:50:43
【问题描述】:
这是我的代码:
<?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>
我的主机在 Parallel Plesk 上...但是邮件没有发送到...
我的问题是什么?您对我有什么想法或建议吗?
这是完整的代码:
<!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>
【问题讨论】:
-
您检查过垃圾邮件吗?
-
echo 得到了什么?($mailsent) 是 0 还是 1
-
@KasunRajapaksha 需要注意的是,我用 echo 写的只是字符串文本!!!
-
我正在使用带有 XHTML DOCTYPE 的页面...可能是问题所在!!!你怎么看?
-
Replt-To看起来像是错字。但总的来说,如果您通过 PHP 发送邮件,我强烈建议您使用像 SwiftMailer 的 PHPMailer 这样的不错的邮件程序库;使用 PHP 的内置mail()函数总是会给你带来问题;很难相处。