我有一个用Python编写,运行在Linode VPS上的小公司的内部pipe理应用程序,用户可以通过它向客户发送偶尔的电子邮件。 电子邮件非常简单:带有PDF发票附件的文本部分(即不是HTML),使用email stdlib模块创build,并通过外部SMTP服务器(不在VPS上托pipe)发送。 一切都运行得相当顺利了一段时间,但最近我一直在接受抱怨,电子邮件通常被接收邮件服务器归类为垃圾邮件。 我发送了一封testing邮件到http://www.mail-tester.com ,发现添加一些丢失的标题(特别是Date和Message-ID )有助于减less我的消息的“垃圾”级别。 不过还有一个SPF相关的SpamAssassin问题仍然没有解决: SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail) 我尝试将testing电子邮件发送到我的Gmail帐户,以下是“Show Original”时可以find的相关标题: Received-SPF: pass (google.com: domain of <sender_address> designates <ip_smtp_server> as permitted sender) client-ip=<ip_smtp_server>; Received: from [<ip_linode_vps>] (helo=<domain_name_linode_vps>) 从这里和我在这里和那里收集的一些额外的信息,我敢肯定,这个问题可以通过修改SMTP服务器域的SPFlogging(已经存在,作为一个TXTlogging"v=spf1 a mx… ~all" <ip_smtp_server> "v=spf1 a mx… ~all"string包含一个ip4引用<ip_smtp_server> ),但我目前的理解是不够的,所以我会很感激任何帮助。 更新: <ip_linode_vps> = 69.164.216.89 <domain_name_linode_vps> = li131-89.members.linode.com <ip_smtp_server> = […]
最近我注意到了一些我得到的垃圾邮件中的重复模式。 返回path和标题始终具有相同的结构。 我举个例子来解释一下: Return-path: <[email protected]> From: <[email protected]> To: <[email protected]> 基本上,我想检查返回path的用户部分是否等于From用户部分,添加了To(“@”改为“=”),并在To前加上一个破折号。 我想使用一些Postfix的header_checks并拒绝USER=DOMAIN.COM@模式,但是我收到的大多数合法的新闻组都包含在它的返回path中(除了之前有一个更复杂的string,它与From字段不匹配) 。 有没有人创造过这样的规则,并且关心分享? 谢谢!
当我的邮件设置程序检测到邮件是垃圾邮件时,会将*SPAM*放入主题中。 现在我想通过训练我的垃圾邮件来改进我的贝叶斯filter。 如果我给这些成千上万的邮件喂食,即使他们在这个主题中仍然存在“ *SPAM* ,这种方式是否还能起作用? 或者它会告诉filter“如果标题中有*SPAM* ,那么*SPAM*只会是垃圾邮件”,这样做会适得其反。
因为我的新项目,我刚刚开始与垃圾邮件进行斗争。 我将解释这个系统的结构。 我们有Postfix作为中继服务器上的MTA和新鲜的Spamassasian和Policyd(v2 Cluebringer)插件。 这些工作正常,并在日志文件中产生良好的输出。 我在这个模式中的问题,我怎么能知道哪个插件正在工作? 为什么我想学习这个: 如果Policyd拒绝邮件,因为不是真正的邮件地址Spamassasian将无法正常工作,系统将无法扫描所有邮件 如果我安装Clamav,它不会占用太多的资源 最好的祝福。 postconf -M smtp inet n – – – – smtpd -o content_filter=spamassassin pickup unix n – – 60 1 pickup cleanup unix n – – – 0 cleanup qmgr unix n – n 300 1 qmgr tlsmgr unix – – – 1000? 1 tlsmgr rewrite […]
我想要一个testing垃圾邮件的方法来查看SpamAssassin给出的垃圾邮件分数。 SA数据库文件( bayes_toks等)驻留在/var/lib/amavis/.spamassassin 。 我一直在testing电子邮件: sudo su amavis -c 'spamassassin -t msgfile' 虽然这产生了一些奇怪的结果,例如: Content analysis details: (3.7 points, 5.0 required) pts rule name description —- ———————- ————————————————– 3.5 BAYES_99 BODY: Bayes spam probability is 99 to 100% [score: 1.0000] -0.0 NO_RELAYS Informational: message was not relayed via SMTP 0.0 LONG_TERM_PRICE BODY: LONG_TERM_PRICE 0.2 BAYES_999 BODY: […]
我处于陡峭的电子邮件处理学习曲线的早期阶段,温柔的赞赏:-)。 我有一个设置与后缀和dovecot。 我试图将我的电子邮件服务器(域example.com )从我家迁移到其他地方( test.example.com )运行的实例。 这个想法是,当事情似乎工作,我会改变DNS和取代test.example.com example.com )。 我怀疑我所拥有的问题可能是过渡性的,但希望得到任何validation。 在我的旧服务器上,我有实际的Unix账户,并在/ etc /别名中有以下内容: a: \a, b 以便发送到[email protected]电子邮件除了本地副本外, [email protected]转发到[email protected] 。 在我的新服务器上(目前test.example.com [email protected], [email protected] ),我有虚拟用户[email protected], [email protected] , $virtual_alias_maps包含 @test.example.com @example.com [email protected] [email protected], [email protected] 其中发送到[email protected]电子邮件将按照预期的方式交付,而无需循环。 然后,我以下面的方式将spamassassin添加到main.cf中,似乎只有一个例外。 smtp inet n – – – – smtpd -o content_filter=spamassassin spamassassin unix – nn – – pipe user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail […]
检查DNSBL时,有没有办法在电子邮件中检查spamassassin的结果? 我在maillog中看不到任何东西,邮件头里什么都没有。 我不知道是否实际查询DNSBLs,我想知道。 我目前在Centos 6.5上安装了spamassassin 3.3.1。
题 有没有办法让spamassassin绕过我的Linux系统的DNS服务器来查询DNSBLs? 背景信息 当我的服务器收到电子邮件时,通过spamassassin进行检查。 其中一项检查将在DNS黑名单中查找涉及的邮件服务器。 不幸的是,我的提供商的DNS不允许再查询这些BL。 这是通过spamassassin的标题信息URIBL_BLOCKED在我收到的所有电子邮件中显示的。 我也手动testing了这个: root@net:# dig 2.0.0.127.multi.uribl.com txt +short "127.0.0.1 -> Query Refused. See http://uribl.com/refused.shtml for more information [Your DNS IP: 123.123.123.123]" ( 123.123.123.123在我的/etc/resolv.conf被configuration为dns。) 当我手动查询他们的域名服务器之一(请参阅@ cc.uribl.com),而不使用我的提供商的recursor,我得到一个答案: root@net:# dig 2.0.0.127.multi.uribl.com txt @cc.uribl.com. +short permanent testpoint (请注意,这是BL应该给出这个结果的一个testing) 概要 那么有什么办法可以让spamassassin不使用系统默认的dns的dnsbl查询,而不是在这个系统上安装dns recursor? UPDATE 好的,实际上安装本地dns-recursor没有问题。 它重量轻,易于安装,现在我不再有BL的问题了。
一段时间以来,我收到以下错误邮件发送到我的服务器上的根帐户。 这是每日spamassassin更新每次都发生故障。 我的安装程序遵循Ars Technica设置指南 ,我已经尝试了通过spamdinput/var/lib/spamassassin 。 即使是spamd:debian-spamd没有帮助。 至于操作系统,我正在运行Debian 8 Jessie和最新的spamassassin版本。 所以我的问题是: 我该如何解决这个错误? 错误信息: /etc/cron.daily/spamassassin: error: unable to refresh mirrors file for channel updates.spamassassin.org, using old file channel: could not find working mirror, channel failed sa-update failed for unknown reasons # sa-update -D -v可以在这里find,因为它们对于这个问题来说太大了。
我们正在尝试在Spamassasin中用一个简单的规则来标记networking钓鱼邮件作为垃圾邮件。 但不幸的是,我们无法得到一个工作检查。 基本上我们试图实现的是,如果邮件的发件人不是来自我们的域@ example.org,而是用伪造的显示名称书写。 这里是一个例子: From: "Firstname Lastname <[email protected]>" <[email protected]> 所以我们制定了下面的SA规则,这个规则不起作用 header __FRAUD_HEADER From =~ /.*@(?!example\.org)/i body __FRAUD_BODY /".*\@example\.org.*"(?!.*\@example\.org.*$)/i meta COMPANY_FRAUD (__FRAUD_HEADER && __KFRAUD_BODY) describe COMPANY_FRAUD Fake Sender – Phishing Attempt score COMPANY_FRAUD 100 任何想法,为什么这不起作用? regex101.com让我们知道正则expression式是正确的。 Spamassasin也不抱怨错误。 编辑:我想我弄错了他们如何伪造发件人。 这是我如何认为他们伪造/伪装的发件人地址的摘录 # telnet mail.example.org 25 Trying 10.20.30.40… Connected to mail.example.org. Escape character is '^]'. 220 mail.example.org ESMTP […]