这是一个棘手的问题,我一直依赖技术,例如基于许可的电子邮件(即仅发送给您有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动混入人们的垃圾邮件文件夹中,我想知道我能对此做些什么。
尽管这些特定的电子邮件不会被人们标记为垃圾邮件,具体来说,它们是包含人们花了很多钱购买的许可证密钥的电子邮件,所以我认为他们不会将它们视为垃圾邮件
我认为这是一个很大的话题,我本质上是一个无知的傻瓜。
This is a tricky one and I've always relied on techniques, such as permission-based emails (i.e. only sending to people you have permission to send to) and not using blatantly spamish terminology.
Of late, some of the emails I send out programmatically have started being shuffled into people's spam folder automatically and I'm wondering what I can do about it.
This is despite the fact that these particular emails are not ones that humans would mark as spam, specifically, they are emails that contain license keys that people have paid good money for, so I don't think they're going to consider them spam
I figure this is a big topic in which I am essentially an ignorant simpleton.
发布评论
评论(24)
您可以告诉您的用户在完成订单时将您的发件人地址添加到他们的联系人中,如果他们这样做,将会有很大帮助。
否则,我会尝试从您的一些用户那里获取日志。 有时,他们会在邮件标题中提供有关为何将其标记为垃圾邮件的详细信息,您可以使用这些详细信息来调整文本。
您可以尝试的其他操作:
You can tell your users to add your From address to their contacts when they complete their order, which, if they do so, will help a lot.
Otherwise, I would try to get a log from some of your users. Sometimes they have details about why it was flagged as spam in the headers of the message, which you could use to tweak the text.
Other things you can try:
发送电子邮件之前,请确认您拥有正确的电子邮件地址。 如果有人在注册时提供了错误的电子邮件地址,请尽快严厉批评他们。
在每封电子邮件中始终包含明确的“如何取消订阅”信息。 不需要用户登录才能取消订阅,它应该是一键取消订阅的唯一 URL。
这将防止人们将您的邮件标记为垃圾邮件,因为“取消订阅”太难了。
Confirm that you have the correct email address before sending out emails. If someone gives the wrong email address on sign-up, beat them over the head about it ASAP.
Always include clear "how to unsubscribe" information in EVERY email. Do not require the user to login to unsubscribe, it should be a unique url for 1-click unsubscribe.
This will prevent people from marking your mails as spam because "unsubscribing" is too hard.
除了所有其他答案之外,如果您要发送包含 URL 作为链接文本的 HTML 电子邮件,请确保 URL 与链接文本匹配。 我知道如果不是的话,Thunderbird 会自动将它们标记为骗局。
错误的方法:
正确的方法:
或者使用不相关的链接文本而不是 URL:
In addition to all of the other answers, if you are sending HTML emails that contain URLs as linking text, make sure that the URL matches the linking text. I know that Thunderbird automatically flags them as being a scam if not.
The wrong way:
The right way:
Or use an unrelated linking text instead of a URL:
您可以考虑使用处理递送问题的第三方电子邮件服务:
You may consider a third party email service who handles delivery issues:
发送电子邮件有时就像黑魔法。 反向DNS确实很重要。
我发现仔细跟踪 NDR 非常有帮助。 我将所有 NDR 定向到一个地址,并使用 Windows 服务来解析它们(Google ListNanny)。 我将尽可能多的 NDR 信息放入数据库中,然后对其运行报告,看看我是否突然开始被某个域阻止。 此外,您还应该避免将电子邮件发送到之前标记为 NDR 的地址,因为这通常是垃圾邮件的良好迹象。
如果您需要一次发送一堆客户服务电子邮件,最好在每封电子邮件之间设置一个延迟,因为如果您一次向一个域发送太多几乎相同的电子邮件,那么您肯定会收到他们的邮件。黑名单。
有些域名有时根本无法交付。 Comcast.net 是最差的。
确保您的 IP 未列在 http://www.mxtoolbox.com/blacklists.aspx< 等网站上/a>.
Delivering email can be like black magic sometimes. The reverse DNS is really important.
I have found it to be very helpful to carefully track NDRs. I direct all of my NDRs to a single address and I have a windows service parsing them out (Google ListNanny). I put as much information from the NDR as I can into a database, and then I run reports on it to see if I have suddenly started getting blocked by a certain domain. Also, you should avoid sending emails to addresses that were previously marked as NDR, because that's generally a good indication of spam.
If you need to send out a bunch of customer service emails at once, it's best to put a delay in between each one, because if you send too many nearly identical emails to one domain at a time, you are sure to wind up on their blacklist.
Some domains are just impossible to deliver to sometimes. Comcast.net is the worst.
Make sure your IPs aren't listed on sites like http://www.mxtoolbox.com/blacklists.aspx.
我不想告诉你,但我和其他人可能正在使用白名单默认值来控制我们对垃圾邮件的过滤。
这意味着来自未知来源的所有电子邮件都会自动成为垃圾邮件并转移到垃圾邮件文件夹中。 (我不会让我的电子邮件服务删除垃圾邮件,因为我想始终检查收到的邮件是否有误报,这通过快速扫描文件夹很容易做到。)
我什至有自己发来的电子邮件转到垃圾邮件桶,因为 (1) 我通常不向自己发送电子邮件,并且 (2) 有垃圾邮件发送者在发送给我的垃圾邮件中伪造我的回信地址。
因此,为了摆脱垃圾邮件指定,我必须考虑您的邮件可能是合法的(根据发件人和主题信息),并首先以纯文本形式打开它(我对所有传入邮件的默认设置,无论是否是垃圾邮件),看看它是否合法。 我的垃圾邮件文件夹不会使用电子邮件中的任何链接,因此我可以免受棘手的图像链接和其他不当行为的影响。
如果我希望将来来自同一来源的邮件能够进入我的收件箱,并且不会被转入垃圾邮件审核,我会向我的电子邮件客户端指定这一点。 对于那些使用批量邮件转发器和每封邮件都有唯一发件人地址的组织来说,这太糟糕了。 它们从未得到我的批准,并且总是出现在我的垃圾邮件文件夹中,如果我很忙,我永远不会看它们。
最后,如果一封电子邮件的纯文本格式不清晰,即使以 HTML 格式发送,我也可能会将其删除,除非根据来源和以前的宝贵经验,我知道它是我感兴趣的内容。
正如您所看到的,它最终处于用户的控制之下,并且没有任何自动行为可以使这样的系统相信您的邮件仅从其结构来看是合法的。 在这种情况下,您需要表现得友善,不要做任何类似于网络钓鱼的事情,并让愿意信任您的邮件的用户轻松将您添加到他们的白名单中。
I hate to tell you, but I and others may be using white-list defaults to control our filtering of spam.
This means that all e-mail from an unknown source is automatically spam and diverted into a spam folder. (I don't let my e-mail service delete spam, because I want to always review the arrivals for false positives, something that is pretty easy to do by a quick scan of the folder.)
I even have e-mail from myself go to the spam bucket because (1) I usually don't send e-mail to myself and (2) there are spammers that fake my return address in spam sent to me.
So to get out of the spam designation, I have to consider that your mail might be legitimate (from sender and subject information) and open it first in plaintext (my default for all incoming mail, spam or not) to see if it is legitimate. My spam folder will not use any links in e-mails so I am protected against tricky image links and other misbehavior.
If I want future arrivals from the same source to go to my in box and not be diverted for spam review, I will specify that to my e-mail client. For those organizations that use bulk-mail forwarders and unique sender addresses per mail piece, that's too bad. They never get my approval and always show up in my spam folder, and if I'm busy I will never look at them.
Finally, if an e-mail is not legible in plaintext, even when sent as HTML, I am likely to just delete it unless it is something that I know is of interest to me by virtue of the source and previous valuable experiences.
As you can see, it is ultimately under an users control and there is no automated act that will convince such a system that your mail is legitimate from its structure alone. In this case, you need to play nice, don't do anything that is similar to phishing, and make it easy for users willing to trust your mail to add you to their white list.
我的应用程序的一封电子邮件经常被标记为垃圾邮件。 它是带有单个链接的 html,我将其作为正文中的 html 发送,内容类型为 text/html。
我对这个问题最成功的解决方案是撰写电子邮件,使其看起来像是由电子邮件客户端生成的。
我将电子邮件更改为多部分/替代 MIME 文档,现在生成文本/纯文本和文本/html 部分。
Outlook 不再将电子邮件检测为垃圾邮件。
one of my application's emails was constantly being tagged as spam. it was html with a single link, which i sent as html in the body with a text/html content type.
my most successful resolution to this problem was to compose the email so it looked like it was generated by an email client.
i changed the email to be a multipart/alternative mime document and i now generate both text/plain and text/html parts.
the email no longer is detected as junk by outlook.
Yahoo 使用一种名为“发件人 ID”的方法,可以在 SPF 设置向导 并输入您的 DNS。 对于 Exchange、Hotmail、AOL、Yahoo 和其他公司来说,重要的事情之一就是为您的域提供反向 DNS。 这些将解决大部分问题。 但是,您永远无法阻止有人故意阻止您的规则或自定义规则。
Yahoo uses a method called Sender ID, which can be configured at The SPF Setup Wizard and entered in to your DNS. Also one of the important ones for Exchange, Hotmail, AOL, Yahoo, and others is to have a Reverse DNS for your domain. Those will knock out most of the issues. However you can never prevent a person intentionally blocking your or custom rules.
您需要一个反向 DNS 条目。 您不需要将相同的内容发送给同一用户两次。 您需要使用一些常见的网络邮件和电子邮件客户端来测试它。
就我个人而言,我通过一个新安装的垃圾邮件杀手、一个训练有素的垃圾邮件杀手以及多个 hotmail、gmail 和 aol 帐户来运行我的程序。
但是您是否见过那些似乎没有链接或广告的垃圾邮件? 这是垃圾邮件发送者试图影响您的贝叶斯过滤器。 如果他能获得很高的评价,然后在他未来的电子邮件中包含一些单词,那么它可能会自动学习为好。 因此,您无法真正猜测在发送邮件时用户的过滤器将被设置为什么。
最后,我没有按域对列表进行排序,而是将其随机化。
You need a reverse DNS entry. You need to not send the same content to the same user twice. You need to test it with some common webmail and email clients.
Personally I ran mine through a freshly installed spam assassin, a trained spam assassin, and multiple hotmail, gmail, and aol accounts.
But have you seen that spam that doesn't seem to link to or advertise anything? That's a spammer trying to affect your Bayesian filter. If he can get a high rating and then include some words that would be in his future emails it might be automatically learned as good. So you can't really guess what a user's filter is going to be set as at the time of your mailing.
Lastly, I did not sort my list by the domains, but randomized it.
我发现在正文中使用收件人的真实名字和姓氏是通过垃圾邮件过滤器的可靠方法。
I've found that using the recipients real first and last name in the body is a sure fire way of getting through a spam filter.
在英国,最佳做法还包括您公司的真实实际地址及其注册号码。
这样,一切都是公开和诚实的,他们就不太可能手动将其标记为垃圾邮件。
In the UK it's also best practice to include a real physical address for your company and its registered number.
That way it's all open and honest and they're less likely to manually mark it as spam.
我想补充一点:
点击“取消订阅”后提供真正的取消订阅。 我见过真正的时事通讯提供了一个虚拟的取消订阅链接,点击后显示“已成功取消订阅”,但我仍然会收到更多的时事通讯。
I would add :
Provide real unsubscription upon click on "Unsubscribe". I've seen real newsletters providing a dummy unsubscription link that upon click shows " has been unsubscribed successfully" but I will still receive further newsletters.
您可以做的最重要的事情是确保您发送电子邮件的人在收到您的电子邮件时不太可能点击“垃圾邮件”按钮。 因此,请遵循以下经验法则:
确保您已获得电子邮件发送对象的许可。 切勿向未向您请求的人发送电子邮件。
在每条消息的顶部清楚地标明您是谁,以及此人为何收到电子邮件。
在每条消息的顶部清楚地标明您是
每月至少向列表中的人员发送一封提醒电子邮件(如果您正在运行列表),迫使他们选择重新加入列表,以便继续接收您的通信。 是的,这意味着您的列表会随着时间的推移而变得越来越短,但好处是列表中的人会被“收买”,并且不太可能标记您的电子邮件。
保持您的内容高度相关且有用。
为人们提供一种选择退出进一步通信的简单方法。
使用像 SendGrid 这样的电子邮件发送服务,努力保持良好的 IP 声誉。
避免使用短链接 - 这些通常被列入黑名单。
遵循这些经验法则将会大有帮助。
The most important thing you can do is to make sure that the people you are sending email to are not likely going to hit the "Spam" button when they receive your email. So, stick to the following rules of thumb:
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.
Following these rules of thumb will go a long way.
我过去在工作中做过的许多网站上都遇到过同样的问题。 确保用户收到电子邮件的唯一有保证的方法是建议用户将您添加到安全列表中。 任何其他方法实际上只是可以提供帮助,并且不能保证。
I have had the same problem in the past on many sites I have done here at work. The only guaranteed method of making sure the user gets the email is to advise the user to add you to there safe list. Any other method is really only going to be something that can help with it and isn't guaranteed.
很可能的情况是,注册您的服务的人输入的电子邮件中存在您未更正的打字错误。 例如:chris@gmial.com - 或 - james@hotnail.com。
此类域被配置为用作垃圾邮件,它会自动标记您的电子邮件服务器的 IP 和/或域并损害其声誉。
为了避免这种情况,请仔细检查您在产品订阅时输入的电子邮件地址。 另外,在向他们发送产品密钥或接受他们的订阅之前,请发送一封确认电子邮件,以真正确保输入确认电子邮件的人员 100% 验证该电子邮件地址。 验证电子邮件应要求收件人点击链接或回复,以真正确认邮箱的所有者是注册人。
It could very well be the case that people who sign up for your service are entering emails with typing mistakes that you do not correct. For example: chris@gmial.com -or- james@hotnail.com.
And such domains are configured to be used as spamtraps which will automatically flag your email server's IP and/or domain and hurt its reputation.
To avoid this, do a double-check for the email address that is entered upon your product subscription. Also, send a confirmation email to really ensure that this email address is 100% validated by a human being that is entering the confirmation email, before you send them the product key or accept their subscription. The verification email should require the recipient to click a link or reply in order to really confirm that the owner of the mailbox is the person who signed up.
听起来您正在依赖一些反馈来确定接收端卡住的是什么。 您应该亲自检查出站邮件是否有明显的“垃圾邮件”。
购买任何像样的垃圾邮件控制系统,并通过它发送出站邮件。 如果您发送的邮件量相当大,则无论如何都应该这样做,因为存在发送出站病毒的风险,特别是如果您有桌面 Windows 用户。
例如,Proofpoint 在单个部署中包含垃圾邮件+防病毒+一些信誉服务。 (我曾经在那里工作过,所以我碰巧知道了这一点。我确信这个领域的其他供应商也有类似的功能。)但是你明白了。 如果您通过基本的商业垃圾邮件控制设置发送邮件,但没有通过,则它不应该离开您的网络。
此外,还有一些公司可以帮助您提高非垃圾邮件、出站电子邮件的递送率,例如 Habeas。
It sounds like you are depending on some feedback to determine what is getting stuck on the receiving end. You should be checking the outbound mail yourself for obvious "spaminess".
Buy any decent spam control system, and send your outbound mail through it. If you send any decent volume of mail, you should be doing this anyhow, because of the risk of sending outbound viruses, especially if you have desktop windows users.
Proofpoint had spam + anti-virus + some reputation services in a single deployment, for example. (I used to work there, so I happen to know this off the top of my head. I'm sure other vendors in this space have similar features.) But you get the idea. If you send your mail through a basic commerical spam control setup, and it doesn't pass, it shouldn't be going out of your network.
Also, there are some companies that can assist you with increasing delivery rates of non-spam, outbound email, like Habeas.
谷歌为此提供了工具和指南。 您可以在以下位置找到它们:https://postmaster.google.com/ 注册并验证您的域名,然后Google 提供该 IP 地址和域的单独评分。
批量发件人指南:
身份验证可确保您的邮件能够正确分类。 缺乏身份验证的电子邮件可能会被拒绝或放入垃圾邮件文件夹,因为它们很可能是用于网络钓鱼诈骗的伪造邮件。 此外,出于安全原因,未经身份验证的带有附件的电子邮件可能会被彻底拒绝。
为确保 Gmail 能够识别您的身份:
在您发送的每封批量邮件的“发件人:”标头中使用相同的地址。
我们还建议如下:
使用 DKIM 签署消息。 我们不会验证使用少于 1024 位的密钥签名的消息。
Google has a tool and guidelines for this. You can find them on: https://postmaster.google.com/ Register and verify your domain name and Google provides an individual scoring of that IP-address and domain.
From the bulk senders guidelines:
Authentication ensures that your messages can be correctly classified. Emails that lack authentication are likely to be rejected or placed in the spam folder, given the high likelihood that they are forged messages used for phishing scams. In addition, unauthenticated emails with attachments may be outrightly rejected, for security reasons.
To ensure that Gmail can identify you:
Use the same address in the 'From:' header on every bulk mail you send.
We also recommend the following:
Sign messages with DKIM. We do not authenticate messages signed with keys using fewer than 1024 bits.
我总是使用:
https://www.mail-tester.com/
它为我提供了有关技术部分的反馈发送电子邮件。 如 SPF 记录、DKIM、Spamassassin 分数等。 尽管我知道需要什么,但我还是不断地犯错误,而 mail-tester.com 可以轻松找出可能出现的问题。
I always use:
https://www.mail-tester.com/
It gives me feedback on the technical part of sending an e-mail. Like SPF-records, DKIM, Spamassassin score and so on. Even though I know what is required, I continuously make errors and mail-tester.com makes it easy to figure out what could be wrong.
首先,您需要确保所需的电子邮件身份验证机制(例如 SPF 和 DKIM)已到位。 这两种是证明您是电子邮件的实际发件人并且该电子邮件并非真正的欺骗的重要方法。 这减少了电子邮件被作为垃圾邮件过滤的机会。
第二件事是,您可以根据不同的 DNSBL 检查域名的反向 DNS 输出。 在终端上使用以下简单命令:
在上面的示例中,这意味着您的域“example.com”被列入黑名单,但由于域设置合规性(rfc-clueless.org 列出存在合规性问题的域)
注意:我更喜欢 multivalley 和 pepipost 工具,用于检查域列表。
发件人地址/回复 ID 应该正确,始终在电子邮件正文中使用可见的取消订阅按钮(这将有帮助)让您的用户从您的电子邮件列表中注销,而不会损害您的域声誉)
First of all, you need to ensure the required email authentication mechanisms like SPF and DKIM are in place. These two are prominent ways of proving that you were the actual sender of an email and it's not really spoofed. This reduces the chances of emails getting filtered as spam.
Second thing is, you can check the reverse DNS output of your domain name against different DNSBLs. Use below simple command on terminal:
In the above examples, this means your domain "example.com" is listed in blacklist but due to Domain Setting Compliance(rfc-clueless.org list domain which has compliance issue )
note: I prefer multivalley and pepipost tool for checking the domain listings.
The from address/reply-to-id should be proper, always use visible unsubscribe button within your email body (this will help your users to sign out from your email-list without killing your domain reputation)
大多数以编程方式生成的电子邮件的目的通常是事务性的、触发性的或警报性的——这意味着这些是重要的电子邮件,永远不应该成为垃圾邮件。
话虽如此,在将电子邮件标记为垃圾邮件之前需要考虑多个参数。 虽然电子邮件列表的质量是要考虑的最重要的参数,但我在这里从讨论中跳过它,因为这里我们讨论的是发送给我们自己或已知电子邮件地址的重要电子邮件。
除了列表质量之外,其他 3 个重要参数是:
发件人信誉 = 发送 IP 地址的信誉 + 返回路径/信封域的信誉 + 来自域的信誉。
对于您的发件人信誉如何,没有直接答案。 这是因为有多个机构(如 SenderScore、声誉机构等)维护您的域的声誉分数。 除了 Gmail、Yahoo、Outlook 等 ISP 之外,它们还维护每个域的声誉。
但是,您可以使用 GradeMyEmail 等免费工具来 360 度全方位了解您的声誉以及电子邮件设置的潜在问题或任何其他与合规性相关的问题。
有时,如果您使用新域发送电子邮件,这些域也会被发现进入垃圾邮件。 您应该检查您的域是否列在任何全局阻止列表中。 同样,GradeMyEmail 和 MultiRBL 是识别阻止列表列表的有用工具。
一旦您非常确定发件人信誉评分,您应该检查您的电子邮件发送域是否符合所有电子邮件身份验证和标准。
为此,您可以再次使用 GradeMyEmail 或 MXToolbox 来了解身份验证的潜在问题。
您的 SPF、DKIM 和 DMARC 应始终通过,以确保您的电子邮件符合标准电子邮件身份验证。
以下是这些身份验证在 Gmail 中的示例:
同样,您可以使用 Mail-Tester 等工具扫描完整的电子邮件内容并告知可能触发垃圾邮件过滤器的潜在关键字。
The intend of most of the programmatically generated emails is generally transactional, triggered or alert n nature- which means these are important emails which should never land into spam.
Having said that there are multiple parameters which are been considered before flagging an email as spam. While Quality of email list is the most important parameter to be considered, but I am skipping that here from the discussion because here we are talking about important emails which are sent to either ourself or to known email addresses.
Apart from list quality, the other 3 important parameters are;
Sender Reputation = Reputation of Sending IP address + Reputation of Return Path/Envelope domain + Reputation of From Domain.
There is no straight answer to what is your Sender Reputation. This is because there are multiple authorities like SenderScore, Reputation Authority and so on who maintains the reputation score for your domain. Apart from that ISPs like Gmail, Yahoo, Outlook also maintains the reputation of each domain at their end.
But, you can use free tools like GradeMyEmail to get a 360-degree view of your reputation and potential problems with your email settings or any other compliance-related issue too.
Sometimes, if you're using a new domain for sending an email, then those are also found to land in spam. You should be checking whether your domain is listed on any of the global blocklists or not. Again GradeMyEmail and MultiRBL are useful tools to identify the list of blocklists.
Once you're pretty sure with the sender reputation score, you should check whether your email sending domain complies with all email authentications and standards.
For this, you can again use GradeMyEmail or MXToolbox to know the potential problems with your authentication.
Your SPF, DKIM and DMARC should always PASS to ensure, your emails are complying with the standard email authentications.
Here's an example of how these authentications should look like in Gmail:
Similarly, you can use tools like Mail-Tester which scans the complete email content and tells the potential keywords which can trigger spam filters.
要允许 DMARC 检查 SPF 通过,并在使用 sendmail 时对齐,请确保您正在设置信封发件人地址(
-f
或-r
参数)到与From:
标头地址中的域匹配的内容。使用 PHP:
使用 PHP 的内置
mail()
函数而不设置第 5 个参数,如果操作不正确,将导致 DMARC SPF 检查未对齐。 默认情况下,sendmail 将使用网络服务器的用户作为 RFC5321.MailFrom / 发送电子邮件返回路径标头。例如,假设您在
host.com
网络服务器上托管您的网站domain.com
。 如果不设置附加参数参数:电子邮件收件人将收到一封包含以下邮件标头的电子邮件:
即使这通过了 SPF 检查,它也将是不对齐的(因为domain.com 和host.com 不匹配),这意味着DMARC SPF 检查将因未对齐而失败。
相反,您必须通过在 PHP
mail()
函数中包含第 5 个参数来将信封发件人地址传递给 sendmail,例如:在这种情况下,电子邮件收件人将收到具有以下邮件标头的电子邮件:
由于这两个标头都包含来自
domain.com
的地址,因此 SPF 将通过并且也会对齐,这意味着 DMARC 也将通过 SPF 检查。To allow DMARC checks for SPF to pass and also be aligned when using sendmail, make sure you are setting the envelope sender address (
-f
or-r
parameter) to something that matches the domain in theFrom:
header address.With PHP:
Using PHP's built-in
mail()
function without setting the 5th paramater will cause DMARC SPF checks to be unaligned if not done correctly. By default, sendmail will send the email with the webserver's user as the RFC5321.MailFrom / Return Path header.For example, say you are hosting your website
domain.com
on thehost.com
web server. If you do not set the additional parameters parameter:The email recipient will receive an email with the following mail headers:
Even though this passes SPF checks, it will be unaligned (since domain.com and host.com do not match), which means that DMARC SPF check will fail as unaligned.
Instead, you must pass the envelope sender address to sendmail by including the 5th parameter in the PHP
mail()
function, for example:In this case, the email recipient will receive an email with the following mail headers:
Since both of these headers contain addresses from
domain.com
, SPF will pass and also be aligned, which means that DMARC will also pass the SPF check.在尽可能多的主要电子邮件提供商(gmail/yahoo/hotmail/aol/等)上注册帐户。 如果您对电子邮件进行更改,无论是重大改写、更改发送电子邮件的代码、更改电子邮件服务器等,请确保将测试邮件发送到您的所有帐户并验证它们没有被标记为垃圾邮件。
Sign up for an account on as many major email providers as possible (gmail/yahoo/hotmail/aol/etc). If you make changes to your emails, either major rewording, changes to the code that sends the emails, changes to your email servers, etc, make sure to send test messages to all your accounts and verify that they are not being marked as spam.
之前的回答中的一些要点:
最重要的是: 发件人地址(“发件人”)是否属于您发送电子邮件的服务器上运行的域? 如果没有,那就这样吧。 切勿使用
[电子邮件受保护]
等发件人地址。 如果您需要回复才能到达其他地址,请使用回复
。您的服务器是否在黑名单中(例如在 spamhaus.org 上检查 IP)? 当您使用共享主机且邻居行为不当时,就有可能出现这种情况。
邮件是否被垃圾邮件过滤器过滤? 使用具有垃圾邮件文件夹的免费邮件程序开设一个帐户并找出答案。 另外,尝试将邮件发送到根本没有任何垃圾邮件过滤的地址。
是否可能需要 mail() 的第五个参数“-f”来添加发件人地址? (参见PHP手册中的mail()命令)
如果您有权访问日志文件,当然请检查这些文件。
A few bullet points from a previous answer:
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
[email protected]
. Userreply-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.
使用电子邮件身份验证方法,例如 SPF 和 DKIM 来证明您的电子邮件和您的域名属于同一组,并防止您的域名被欺骗。 SPF 网站包含一个向导,用于为您的站点生成 DNS 信息。
检查您的反向 DNS 以确保您的邮件服务器的 IP 地址指向您用于发送邮件的域名。
您使用的 IP 地址不在黑名单中
确保 回复地址是有效的现有地址。
在“收件人”字段中使用收件人的完整真实姓名,而不仅仅是电子邮件地址(例如
"John Smith" <[电子邮件受保护]>
)。监控您的滥用帐户,例如
[电子邮件受保护] 和 [电子邮件受保护]
。 这意味着 - 确保这些帐户存在,阅读发送给他们的内容,并对投诉采取行动。最后,让取消订阅真正变得简单。 否则,您的用户将通过按垃圾邮件按钮取消订阅,这将影响您的声誉。
也就是说,让 Hotmail 接受您的电子邮件仍然是一种魔法。
Use email authentication methods, such as SPF, and DKIM to prove that your emails and your domain name belong together, and to prevent spoofing of your domain name. The SPF website includes a wizard to generate the DNS information for your site.
Check your reverse DNS to make sure the IP address of your mail server points to the domain name that you use for sending mail.
Make sure that the IP-address that you're using is not on a blacklist
Make sure that the reply-to address is a valid, existing address.
Use the full, real name of the addressee in the To field, not just the email-address (e.g.
"John Smith" <[email protected]>
).Monitor your abuse accounts, such as
[email protected]
and[email protected]
. That means - make sure that these accounts exist, read what's sent to them, and act on complaints.Finally, make it really easy to unsubscribe. Otherwise, your users will unsubscribe by pressing the spam button, and that will affect your reputation.
That said, getting Hotmail to accept your emails remains a black art.