我使用lib Network.Mail.Mime从我的Haskell程序发送电子邮件。我估计它使用postfix发送电子邮件。当我尝试将邮件发送到我的gmail地址时,我确实收到了它们,只有它们在垃圾邮件中,并且无论我填写“表单”填充,这都会发生。 我该如何避免这种行为? THX
答案 0 :(得分:5)
mime-mail界面将通过sendmail使用简单的api发送电子邮件:
{-# LANGUAGE OverloadedStrings #-}
import Data.Text
import Network.Mail.Mime
main = do
simpleMail
"you@example.com"
"me@example.com"
"Test"
"This is a test"
""
[]
假设您正确使用Data.Text
来避免语言环境编码问题。
现在,这可能会设置不足的标头,因此垃圾邮件过滤器会点击它。您可能需要让gmail 不将其归类为垃圾邮件,或者您可以设置更多标题,以使其看起来不像假电子邮件。
答案 1 :(得分:3)
Don对sendmail和标题问题是正确的。但仅邮件标题通常不足以阻止邮件被标记为垃圾邮件。它可能与您的ip范围被列入黑名单,或与您发送邮件的方法没有明确关联的任何其他数量有关。第一步是检查来自您正在使用的邮箱的邮件是如何标记的,并根据具体情况,配置sendmail以通过授权连接转发到受信任的邮件代理等。
答案 2 :(得分:0)
就像已经提到的sclv一样,它可能是由很多问题引起的。
我刚经历了类似的磨难,而spamassassin是一个很好的帮助。我所有传入的电子邮件都是通过SpamAssassin运行的,它会在标题中留下有关其使用的启发式信息,或者更确切地说是哪种启发式失败。如果您要发送HTML邮件,请确保您有足够的内容,并且您有正确的发件人等。
我发送了一封类似Don Stewart的邮件给我自己,这些是spamassassin标题:
X-Spam-Status: No, score=1.1 required=5.0
tests=BAYES_00,DKIM_ADSP_CUSTOM_MED,
FREEMAIL_FROM,NML_ADSP_CUSTOM_MED,RCVD_IN_RP_RNBL,RFC_ABUSE_POST
,SPF_NEUTRAL,
T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.3.2-r929478
可能并非所有这些都适用于您的情况,但它可能会给出一些暗示。尝试谷歌搜索那些启发式。