<?php
$msg="";
if(isset($_POST['submit']))
{
$from_add = "name@your-web-site.com";
$to_add = "receiver@gmail.com"; //<-- I replaced this with my real gmail account
$subject = "Test Subject";
$message = "Test Message";
$headers = "From: $from_add 'r'n";
$headers .= "Reply-To: $from_add 'r'n";
$headers .= "Return-Path: $from_add'r'n";
$headers .= "X-Mailer: PHP 'r'n";
if(mail($to_add,$subject,$message,$headers))
{
$msg = "Mail sent OK";
}
else
{
$msg = "Error sending email!";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test form to email</title>
</head>
<body>
<?php echo $msg ?>
<p>
<form action='<?php echo htmlentities($_SERVER['PHP_SELF']); ?>' method='post'>
<input type='submit' name='submit' value='Submit'>
</form>
</p>
</body>
</html>
我从 http://www.html-form-guide.com 那里得到了这段代码,它说它会检查我的服务器的配置,如果它被正确配置为发送电子邮件。
我试过了,我把它上传到我的域,当我打开它时,它显示回显"邮件已发送正常",但我没有收到邮件。
请帮助我。
检查您的服务器是否已设置为发送邮件。
您使用的是什么操作系统,邮件服务器?
在 Linux 上,尝试从命令行运行sendmail
。
echo 'this is a test'| mail -s test_email user@somedomain.com
要检查的其他事项是php.ini
中的邮件设置是否正确,没有防火墙阻止外发邮件,以及电子邮件没有被垃圾邮件过滤器捕获。
$from_name ="Mahendra";
$from_mail = "xxxx@gmail.com";
$to = "xxxx@gmail.com";
$subject = "Mahendra's Test Mail";
$mail_body = "This is email test";
$message = $mail_body ;
$headers = "MIME-Version: 1.0" . "'r'n";
$headers .= "Content-type:text/html;charset=UTF-8'r'n";
$headers .= "From: ".$from_name." <".$from_mail.">'r'n";
ob_start();
//$sendmail=mail($to,$subject,$message,$headers);
if($sendmail)
{
echo "Send";
}
else
{
echo "Not Send";
}
试试上面的代码,我确定邮件正在使用上面的代码发送,如果你将使用上面的代码并且你的邮件没有发送。然后100%的问题出在您的邮件服务器中。在很多项目中,我都像这样使用过,它的效果很好。