这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
当前回答
要允许DMARC检查SPF通过,并在使用sendmail时进行对齐,请确保将信封发件人地址(-f或-r参数)设置为与From:报头地址中的域匹配的内容。
PHP:
使用PHP内置的mail()函数而不设置第5个参数将导致DMARC SPF检查不对齐。默认情况下,sendmail将以web服务器的用户RFC5321发送电子邮件。MailFrom / Return路径头。
例如,假设您在host.com web服务器上托管您的网站domain.com。如果您不设置附加参数参数:
mail($to,$subject,$message,$headers); // Wrong way
电子邮件收件人将收到一封带有以下邮件标题的电子邮件:
Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>
即使这通过了SPF检查,它也将是不对齐的(因为domain.com和host.com不匹配),这意味着DMARC SPF检查将失败为不对齐。
相反,你必须通过包含PHP mail()函数中的第5个参数将信封发件人地址传递给sendmail,例如:
mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way
在这种情况下,电子邮件收件人将收到一封带有以下邮件标题的电子邮件:
Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>
由于这两个报头都包含来自domain.com的地址,因此SPF将通过并对齐,这意味着DMARC也将通过SPF检查。
其他回答
在尽可能多的主要电子邮件提供商(gmail/yahoo/hotmail/aol/etc)上注册一个帐户。如果你改变了你的电子邮件,无论是重大的措辞,改变了发送电子邮件的代码,改变了你的电子邮件服务器,等等,一定要向你所有的账户发送测试邮件,并验证它们没有被标记为垃圾邮件。
雅虎使用一种称为发件人ID的方法,可以在SPF设置向导中配置并输入到您的DNS中。另外,对于Exchange, Hotmail, AOL, Yahoo和其他公司来说,重要的一点是为你的域名提供反向DNS。这将解决大部分问题。但是,您永远无法阻止某人故意阻止您的或自定义规则。
我发现,在邮件正文中使用收件人的真实姓名是通过垃圾邮件过滤器的可靠方法。
以下是之前回答中的几个要点:
Most important: Does the sender address ("From") belong to a domain that runs on the server you send the E-Mail from? If not, make it so. Never use sender addresses like xxx@gmail.com. User reply-to if you need replies to arrive at a different address. Is your server on a blacklist (e.g. check IP on spamhaus.org)? This is a possibility when you're on shared hosting when neighbours behave badly. Are mails filtered by a spam filter? Open an account with a freemailer that has a spam folder and find out. Also, try sending mail to an address without any spam filtering at all. Do you possibly need the fifth parameter "-f" of mail() to add a sender address? (See mail() command in the PHP manual) If you have access to log files, check those, of course. Do you check the "from:" address for possible bounce mails ("Returned to sender")? You can also set up a separate "errors-to" address.
使用电子邮件认证方法,如SPF和DKIM,以证明您的电子邮件和您的域名属于一起,并防止欺骗您的域名。SPF网站包含一个向导,用于为您的网站生成DNS信息。
检查反向DNS,以确保邮件服务器的IP地址指向用于发送邮件的域名。
请确保您正在使用的ip地址不在黑名单上
确保回复地址是有效的现有地址。
在“收件人”字段中使用收件人的真实全名,而不仅仅是电子邮件地址(例如。“John Smith”<john@blacksmiths-international.com>)。
监视您的滥用帐户,如abuse@yourdomain.example和postmaster@yourdomain.example。这意味着-确保这些账户存在,阅读发送给他们的内容,并对投诉采取行动。
最后,让退订变得非常容易。否则,你的用户会通过按垃圾邮件按钮退订,这将影响你的声誉。
也就是说,让Hotmail接受你的电子邮件仍然是一种魔法。