我想使用PHP使用smtp邮件方法将邮件发送到收件箱。现在邮件转到垃圾邮件而不是收件箱,我使用的是smtp邮件方法。我设置了主机名,用户名和密码。
<?php
define("SMTP_HOST", "mail.test.us"); //Hostname of the mail server
define("SMTP_PORT", "25"); //Port of the SMTP like to be 25, 80, 465 or 587
define("SMTP_UNAME", "tttt");
//Username for SMTP authentication any valid email created in your domain
define("SMTP_PWORD", "tttt"); //Password for SMTP authentication
?>
邮件代码
//smtp mail
$mail = new PHPMailer;
$mail->Host = SMTP_HOST;
$mail->Port = SMTP_PORT;
$mail->SMTPAuth = true;
$mail->Username = SMTP_UNAME;
$mail->Password = SMTP_PWORD;
$mail->AddReplyTo("test@test.com", "zamisoft");
$mail->SetFrom("test@test.com", "zamisoft.com");
$mail->Subject = $subject;
$mail->AddAddress($to, '');
$mail->MsgHTML($message);
$send = $mail->Send();
$mail->ClearAddresses();
//smtp mail
有人为这些问题提供任何解决方案吗?
答案 0 :(得分:1)
将标题添加到您的电子邮件
$headers='From: ann@zamisoft.com \r\n';
$headers.='Reply-To: ann@zamisoft.com\r\n';
$headers.='X-Mailer: PHP/' . phpversion().'\r\n';
$headers.= 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=iso-8859-1 \r\n';
$headers.= "BCC: to";
自从我使用PHP邮件以来已经有一段时间了,但是如果它不起作用,它应该让你走上正轨。
答案 1 :(得分:0)
确保您拥有SPF和DKIM设置。由于您是从自己的服务器发送邮件,因此强烈建议您这样做。
以下是带有屏幕截图的Namecheap链接。我无法解释得更好: https://www.namecheap.com/support/knowledgebase/article.aspx/9214/31/email-authentication-tool-in-cpanel-spf-records
此外,还有各种各样的检查器,可以很好地验证您的SPF,DKIM,并检查其他内容,并给它一个分数。
http://www.port25.com/support/authentication-center/email-verification/
从您自己的服务器发送邮件时,您可以做的唯一事情。使用SPF和DKIM。远离垃圾话语。一个错误的词可以区分垃圾邮件或收件箱。有一个基线电子邮件和基线主题进行测试。我有一个口号让我进入垃圾邮件文件夹,所以我不得不改变它,因为我想在电子邮件的签名中找到它。使用某些链接缩短程序可能会使您进入垃圾邮件文件夹。我并不是说他们这样做,但使用bit.ly或tinyurl链接可能会让你在那里。使用tinypic或其他图像托管服务可以。您的域名可能是问题所在!从名字..
请记住,每个字(无论是在您的电子邮件地址,域名,主机名,主题或电子邮件正文中)都会被查看。
以及您服务器的IP地址。是否在任何黑名单上?请使用http://mxtoolbox.com/blacklists.aspx
进行检查如果我们中的任何一个人实际上没有登录您的服务器并发送数十封测试电子邮件以查看实际导致的内容,我只能告诉您需要检查的数十项内容。
总而言之,邮寄服务器很糟糕,我不推荐它。我建议使用SendGrid或Mailgun。我有一个客户端登陆垃圾邮件文件夹,新服务器,干净的IP,新域,一切。我把他放在SendGrid上,他没有立即进入收件箱。
对于开发或低级别网站,如果您在大多数时间点击收件箱,则可以通过邮件发送服务器。但是,任何认真对待网站并且电子邮件发送到收件箱的人都很重要,请使用第三方。大多数服务器(来自GoDaddy,Hostgator等)不用于向成千上万的客户发送电子邮件。它们是Web服务器,而不是邮件(MX)服务器,它们会告诉您这不是他们的问题。
更新:我忘了提及反向DNS。你应该有rDNS设置,这是由你的上游完成的。因此,您需要联系您的虚拟主机并要求他们在您的服务器上设置“反向DNS”。
答案 2 :(得分:-1)
您能否显示邮件内容?您是否尝试发送HTML或文本邮件?也许提供商在黑名单上,检查blacklist check处的发送IP地址(请参阅邮件标题)。
只有在使用mail()发送邮件时,我才会在Google Mail中遇到这些垃圾邮件问题 - 在更改为SMTP之后,所有邮箱都能正常运行。