使用spamassassin可以轻松扫描imap收件箱中的垃圾邮件,并将您的垃圾邮件移动到其他文件夹。

isbg的Python项目详细描述


imap spam begone
==

**isbg**是一个脚本和python 3模块,可以使用*spamassassin*轻松扫描
imap收件箱中的垃圾邮件,并将垃圾邮件移动到另一个
文件夹。

isbg不需要
参与邮件传递,并且可以在完全不同的计算机上运行,以
您的邮箱实际所在的位置。因此,这是一个完美的工具,可以在不离开ISP邮箱的情况下对其进行良好的维护。


您可以在"阅读文档"中阅读完整的文档。

_阅读文档:https://isbg.read the docs.io/

…contents::目录
:深度:3

python 2与旧版本兼容。


-可以通过ssl进行imap
-可以记住您的密码
-对多个imap帐户和服务器将无痛苦地工作
-不参与邮件传递过程,因此可以在任何可以与imap服务器联系的
机上运行
-高度可配置
-合理的默认设置,这样您就不必进行任何配置:—)
-跳过垃圾邮件检测的可能性,只保留教学功能
-遇到格式错误的邮件时不要失败
-锁定文件以防止多个实例同时运行(对于cron作业)




它还安装另一个脚本来展开消息:``isbg_sa_unwrap``.


dependencies
~~~~~~~~~~~~~

**isbg**是用python语言编写的。python默认安装在大多数linux系统上。有关python的更多信息,请访问
`python home page`.


确保安装了*spamassassin*。所有必要的信息
都可以在"spamassassin wiki"上找到。*spamassassin*应该位于
`$path``(默认情况下安装在`/usr/bin/``中)

`` isbg``还依赖于一些python模块。

-`docopt``用于命令行选项。

-`cchardet``或`chardet``用于编码检测。

-`xdg``用于找到`.cache``目录。`` xdg``不是必需的,如果它没有安装,**isbg**将尝试找到`.cache`。

_ python主页:https://www.python.org/
…_ spamassassin wiki:https://wiki.apache.org/spamassassin/frontpage
。_ docopt:https://pypi.python.org/pypi/docopt
。_ cchardet:https://pypi.python.org/pypi/cchardet
。_ chardet:https://pypi.python.org/pypi/chardet
。_ xdg:https://pypi.python.org/pypi/xdg

$pip3显示isbg——文件

_ pypi:https://pypi.python.org/pypi/isbg

/isbg
$python3 setup.py install-r installed_files.txt


文件将安装在`/usr/local/``下。`` installed_files.txt``包含已安装的所有依赖项的列表。

installed_files.txt xargs-0 rm-vf--

Building Windows安装程序o构建一个windows安装程序::

$python3 setup.py bdist_wininst


用法
-


spamassassin
~~~~~~~~~~

如果您以前从未使用过*spamassassin*,您可能会非常紧张,因为它太好了,并且会发出合法的电子邮件,或者不排除足够的垃圾邮件。它有一个很容易调整的阈值来改变它的攻击性。运行以下命令创建
首选项文件::

$spamassassin<;/dev/null>;/dev/null
创建了用户首选项文件:home/rogerb/.spamassassin/user_prefs

然后可以编辑`$home/.spamassassin/user_prefs``并更改
阈值。

如果要使用`--learnsambox``或`--learnhambox``功能,则必须
配置spamassassin。

配置spamassassin
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


您必须添加此配置:



allow tell
'''''''


您必须编辑
``/etc/default/spamassassin``并替换::


by::

--辅助项主目录"

`` spamd``在此之后的服务器(``sudo service
spamassassin restart``on*debian*)。


~~~~~~~~~~~~

**isbg**的默认行为是不更改收件箱
,除非指定特定的命令行选项。因此,您可以在开始时不必担心地进行实验。


您的第一步是创建一个新文件夹来接收可疑的垃圾邮件。
我使用一个名为"spam"的文件夹。

isbg``[].

[]您可以在:doc:`manpage.isbg`页面中看到它,或者如果您正在从'github manpage.isbg doc`中阅读此

…[]您可以在:doc:`manpage.isbg_sa_unwrap`页面中看到它,或者如果您正在从'github manpage.isbg_sa_unwrap doc'

_文件/手册页.isbg.rst

…_:docs/manpage.isbg_sa_unwrap.rst




它是如何工作的?
~~~~~~~~~~~~~~~~~~~~

文件夹中以前从未见过的邮件,并为每个邮件下载
邮件并将其馈送到*spamassassin*。如果*spamassassin*表示
邮件是垃圾邮件,则*spamassassin*报告将上载到您的垃圾邮件
文件夹中。除非指定`--noreport``选项,在这种情况下,
邮件将从收件箱复制到垃圾邮件文件夹(复制发生在imap服务器本身上,因此如果您使用的是低带宽连接,则此选项很好)。



主目录中
文件中的IMAP消息唯一ID。它被命名为"`.isbg trackxxxx`",其中xxxx是一个基于imap主机、用户名和端口号的16字节标识符。
因此,您可以对不同的服务器/帐户运行**isbg**
,它将自动将跟踪的uid分开。您可以用`--trackfile``覆盖文件名。

要为多个帐户逐个运行**isbg**,可以使用类似于"bash脚本"文件夹中的bash脚本。因为这些脚本包含密码,因此是敏感数据,请确保文件权限
非常严格。



这将把密码保存在主目录中的
文件中。文件名为`$home/.cache/isbg/.isbg-xxxx`
,其中xxxx是基于IMAP主机、用户名和端口号的16字节标识符(与上面的多个帐户描述相同)。您可以用`--passwdfilename``覆盖文件名。

但是,如果他们将代码研究到isbg
,那么他们将能够找出如何消除混淆,并恢复原始密码。(**isbg**在每次运行时也需要原始密码)。


因此,如果
有人可以读取文件,您应该将此视为提供最低限度的保护。




ssl
~


**isbg**可以通过ssl执行imap,如果您的python版本已经编译
支持SSL。由于Python2.6,SSL是与Python一起内置的。

但是您应该注意,SSL支持不会检查
证书名,也不会验证颁发者。如果攻击者能够截获
连接并修改经过的所有数据包,那么它们将能够充当imap服务器。除此之外,该连接将具有ssl的常规安全功能。




`` recent``和`` seen`.
`` recent``在收到新的
消息后发送到连接的第一个IMAP客户端。其他客户端或后续连接将看不到该标志。"seen"标志用于将消息标记为已读。imap clients
在读取邮件时显式设置"seen"。

不幸的是,这意味着如果isbg或任何其他imap clients
查看了收件箱,邮件将不会显示为新邮件。实际上,它应该使用"seen"(已看到)标志。

imap规范不允许客户端更改"recent"(最近)标志。

gmail integration
~~~~~~~~~~~~~~~~~~~~~

*gmail*有几种独特的方式与邮件客户端交互。**isbg**
由于通过imap与gmail服务器进行交互,因此必须将其视为客户端,因此,应符合这些特殊要求,以便正确集成。


*gmail*服务器上有两种类型的删除。

-**类型1:**将邮件移动到"[gmail]/trash"文件夹。

它将不再出现在任何
文件夹中,垃圾箱文件夹中将有一个副本。
收到电子邮件30天后,gmail将"清空垃圾"。


您还可以对垃圾箱文件夹中的邮件执行"常规imap删除"操作,使其成为永久删除,无需等待30天。

-**键入2:**应用于邮件的常规IMAP删除标志。

这将从邮件中"删除单个标签"。它将不再出现在从中删除的文件夹中,但将保留在其他文件夹中,也将出现在"所有邮件"文件夹中。

这些特性是经过调整的:

-删除。

-如果`--learnspambox``与`--learnthenderstroy`
选项一起使用,则发生类型1删除,只留下
垃圾桶中垃圾邮件的副本。

-如果将`--learnhambox``与`--learnthendestory``
选项一起使用,则会发生类型2删除,仅删除单个标签。

_ Gmail IMAP用法:https://support.google.com/mail/answer/78755?hl=en



忽略邮件
~~~~~~~~~~~~~~~~~~~


默认情况下,**isbg**忽略大于120000字节的邮件,因为
垃圾邮件通常没有那么大。如果您在5
(0.0/5.0)上收到得分为0的电子邮件,很可能是*spamassassin*由于大小而跳过它。


defaut maximum size可以通过使用`--maxsize`
选项更改。



操作:垃圾邮件学习、ham学习和
垃圾邮件检测。如果要更改默认值,可以使用
`--partialrun``选项指定数字。**isbg**首先尝试阅读
新邮件,并跟踪之前看到的邮件,以避免重新处理它们。

当收件箱中有大量电子邮件时,这非常有用,由于删除和邮件
跟踪只在运行结束时执行,并且完全扫描可能需要很长时间。


如果您希望ISBG跟踪所有电子邮件,则可以禁用带有`--partialrun=0`的
``partialrun``````.


关于
----


如果您使用**isbg**或参与
,请加入我们的"isbg邮件列表"!邮件列表将用于发布项目新闻和讨论**isbg**的进一步开发。


软件。

…_ ISBG邮件列表:https://mail.python.org/mm3/mailman3/lists/isbg.python.org/


license
----



>此程序在"GNU通用公共许可版本
3"下获得许可。

在法律允许的范围内,没有任何保证。

_ GNU通用公共许可第3版:https://www.gnu.org/licenses/gpl-3.0.txt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
bufferedreader JavasocketreadLine()方法奇怪的行为   JavaSpring表单:选择多个默认情况下不选择第一个选项   在Java中调用方法之前检查参数的数量   mysql如何在java上执行算术。sql。时间物体?   安卓版libgdx中的java实现库   web应用中的Java内存管理   java异步任务停止工作安卓   Java Android:确保测验答案彼此不同   java内核32。例子在JNA中找不到ReadProcessMemory   Java生产者/消费者并发性问题尝试读取对象时,NoSuchElementFound异常   java阻止返回或关闭应用程序   java如何测量丢弃的UDP消息的数量?   java是处理时间度量的最佳方法?   启动Eclipse应用程序时java Unset环境变量?   java将自定义验证器添加到Eclipse插件中的特定文件类型   找到java否定响应00000436   java如何从typeElement获取实际类型?   java使用vert处理异步操作。十、   java有人能建议简化代码吗?