Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
很少有PHP脚本电子邮件未送达_Php_Phpmailer - Fatal编程技术网

很少有PHP脚本电子邮件未送达

很少有PHP脚本电子邮件未送达,php,phpmailer,Php,Phpmailer,我已在我的域下创建文件夹。 正在发送文件夹1中的电子邮件脚本,但文件夹2中的脚本显示消息=电子邮件已成功发送。但这些电子邮件不是通过电子邮件地址接收的 我正在使用phpmailer 当这个sampleemail.php文件保存在Folder1中时,电子邮件就会被发送。但当相同的文件保存在Folder2中时,就会出现错误消息 代码如下: <? $msg=""; if(isset($_POST['submit'])) { $from_add = "name@my-web-site.com"

我已在我的域下创建文件夹。 正在发送文件夹1中的电子邮件脚本,但文件夹2中的脚本显示消息=电子邮件已成功发送。但这些电子邮件不是通过电子邮件地址接收的

我正在使用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!";
}
}
?>
和HTML示例表单如下所示:

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

查看您的代码,我发现您使用的不是PHPMailer,而是PHP的mailer

关于您无法发送电子邮件和错误消息的问题,以下是一些一般提示:

如果发送HTML邮件,请始终发送包含HTML和文本的多部分电子邮件 不要使用X-Mailer:PHP。有些邮件服务器会因此给你的邮件增加垃圾邮件分数。 如果出现错误,请尝试以下操作:

$errLevel = error_reporting(E_ALL ^ E_NOTICE);
mail(...);
error_reporting($errLevel);
尝试使用不同的传递方法smpt、sendmail等


我建议您使用PHPmailer,因为它具有您需要的功能。我不建议您使用该方法的原因是,它需要更改本地主机中的sendmail函数

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

请尝试此教程:


希望它能对您有所帮助。

检查垃圾邮件以获取帮助emails@VipinSoni我不明白你的意思。电子邮件也不在垃圾邮件文件夹中..你能解释一下吗:但当相同的文件保存在文件夹2中时,错误消息就在那里。。哪条错误消息?您没有使用PHPMailer。为什么要禁用E_通知?那是个糟糕的建议。您需要通知,因为它们通常表示错误/糟糕/错误代码@ThiefMaster是否有E_通知在这里并不重要,因为邮件错误不是通知。@ThiefMaster如果您愿意保留,即使一个函数调用不重要,也可以。但请不要太私人化,因为这样做会有所不同。在这种情况下,没有对错之分,也不知道这听起来有什么私事。通常触发通知的代码都很糟糕。在糟糕的建议中听起来很私人,因为这意味着我给出了糟糕的建议是的,你是对的,如果代码触发器注意到它是坏的。正如我所说,这只是为了一个函数调用和在这个位置禁用通知,确保他只会收到与邮件处理过程中可能出现的错误相关的输出。这是基于过时的代码-只需使用PHPMailer附带的更好的示例。