很少有PHP脚本电子邮件没有交付

时间:2015-02-10 06:13:24

标签: php phpmailer

我在我的域名下创建了文件夹。文件夹-1中的电子邮件脚本正在递送,但文件夹-2中的脚本显示message =“email sent successfully”。但是这些电子邮件没有收到电子邮件地址。

我使用的是phpmailer


我尝试使用示例代码发送电子邮件。 当此sampleemail.php文件保存在 Folder1 中时,电子邮件会传递。但是当同一文件保存在 Folder2中时,会出现错误消息

代码如下:

<?
$msg="";
if(isset($_POST['submit']))
{


$from_add = "name@my-web-site.com"; 

$to_add = "myemail@gmail.com"; //<-- put your yahoo/gmail email address here

$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!";
}
}
?>

和HTNL样本表如下:

<!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>

2 个答案:

答案 0 :(得分:0)

查看你的代码,我发现你不是在使用“PHPMailer”,而是“PHP的邮件程序”。

关于未发送电子邮件和错误消息的问题,以下是一些常规提示:

  1. 如果您发送HTML邮件,请始终发送包含HTML和TEXT
  2. 的多部分电子邮件
  3. 不要使用“X-Mailer:PHP”。有邮件服务器会因此而给你的邮件增加垃圾邮件分数。
  4. 如果您收到错误,请尝试以下操作:

    $errLevel = error_reporting(E_ALL ^ E_NOTICE);
    mail(...);
    error_reporting($errLevel);
    
  5. 尝试使用其他投放方式(smpt,sendmail,...)

答案 1 :(得分:0)

我建议您使用PHPmailer,因为它具有您需要的功能。我不建议您使用您的方法,因为它需要更改localhost中的sendmail()函数。

例如:如果您使用xampp,则必须进入sendmail目录并转到sendmail.php以编辑SMTP到mail.google.com等。

请尝试本教程: http://codeforgeek.com/2014/11/phpmailer-ultimate-tutorial/

希望它可以帮助你。