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