这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
当前回答
要允许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检查。
其他回答
在英国,最好的做法是附上你公司的真实地址和注册号码。
这样,它是开放和诚实的,他们不太可能手动标记为垃圾邮件。
你能做的最重要的事情是确保你要发送电子邮件的人在收到你的电子邮件时不太可能点击“垃圾邮件”按钮。所以,请遵循以下经验法则:
Make sure you have permission from the people you are sending email to. Don't ever send email to someone who did not request it from you. Clearly identify who you are right at the top of each message, and why the person is receiving the email. At least once a month, send out a reminder email to people on your list (if you are running a list), forcing them to opt back in to the list in order to keep receiving communications from you. Yes, this will mean your list gets shorter over time, but the up-side is that the people on your list are "bought in" and will be less likely to flag your email. Keep your content highly relevant and useful. Give people an easy way to opt out of further communications. Use an email sending service like SendGrid that works hard to maintain a good IP reputation. Avoid using short links - these are often blacklisted.
遵循这些经验法则将大有裨益。
在尽可能多的主要电子邮件提供商(gmail/yahoo/hotmail/aol/etc)上注册一个帐户。如果你改变了你的电子邮件,无论是重大的措辞,改变了发送电子邮件的代码,改变了你的电子邮件服务器,等等,一定要向你所有的账户发送测试邮件,并验证它们没有被标记为垃圾邮件。
您可以告诉用户在完成订单时将您的From地址添加到他们的联系人,如果他们这样做,将会有很大帮助。
否则,我将尝试从您的一些用户那里获取日志。有时,他们会在邮件的标题中详细说明为什么它被标记为垃圾邮件,您可以使用它来调整文本。
你还可以试试其他方法:
在主题中写上你的网站名称或地址 保持邮件中的所有链接指向你的域名(而不是email.com) 在邮件中写上地址或其他联系方式
要允许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检查。