计算Gmail收件箱中电子邮件数量的脚本

gmailcount的Python项目详细描述


gmail count是一个简单的脚本,用于计算gmail收件箱中的电子邮件数。它的主要目的是允许像xmobar或
i3bar这样的状态栏程序轮询您的收件箱,而无需以明文形式存储您的密码。

installation
----


gmailcount在python 3.5上进行测试。它可能适用于较旧版本的python 3。

't be
通过PIP安装。它可以通过系统包管理器(Debian上的python3 dbus
)或从源代码安装。


如果系统密钥环不工作,则可以安装备用密钥环支持:


t应该可以在几乎任何系统上工作,但可能没有那么安全。有关keyring
配置的更多信息,请查看python keyring
[文档](https://pypi.python.org/pypi/keyring配置keyring库)。


用法
----


用法:gmailcount[-h][-s-d-p][-t超时][--debug]电子邮件地址

所有邮件计数。

ord
删除电子邮件地址的密码
-p,--提示gmail count提示您输入密码
-t超时,--超时
请求超时
--调试打印任何异常跟踪ck

在状态栏中使用gmailcount之前,您需要使用
s标志运行它来设置电子邮件地址的密码。一旦您设置了
密码,它将存储在您的系统密匙环中。使用
gmailcount的任何程序都需要访问您的密钥环。

在没有标记的情况下使用时,gmailcount将在您的
收件箱中打印电子邮件的数量,以备出现故障时发送给stdout或不发送邮件。


安全问题
----

gmailcount的主要目标之一是提供最低级别的
安全性。为此,所有请求都通过ssl发送,密码存储在
系统密匙环中(如果您的系统密匙环
值任何东西,则可能加密),建议使用的模式是启用双因素身份验证的
帐户上的应用密码。这允许您将
密码保留在dotfiles之外并进行加密,并在
系统遭到破坏时撤销您的密码。

ty
观点。gmailcount只与您的系统密匙环一样安全,这取决于您如何使用它,并且您的配置在
all时可能不太安全。当然,如果您在状态栏中使用gmailcount,那么任何能够访问您的登录用户帐户的人都可以访问您的电子邮件,并且如果您的密钥环由不太强的密码保护,
有权访问您硬盘的人可能会破解您的密钥器。ing
密码并访问您的gmail密码。

使用gmailcount,风险自负!不过,它应该比至少将密码存储为纯文本的
系统安全得多。


xmobar脚本示例
----


这里有一个适合与xmobar一起使用的脚本示例:

/usr/bin/env sh

url='https://mail.google.com'
email=@example@gmail.com'

full懔text=$(/path/to/gmailcount-t 0.3"$email")
full懔text=${full懔text:-?}


case$full_text in
'*[!0-9]*)颜色=\ ff0000;;
0)颜色=\ 88888888;;
*)颜色=\ 00ff00;;
esac


i3blocks脚本示例
有一个适合与i3块一起使用:



/usr/bin/env sh

url='https://mail.google.com'
email='example@gmail.com'

["$block_button"=1]&;xdg open"$url"

full_text=$(/path/to/gmailcount-t 0.3"$email")
full_text=${full_text:-?}


case$full_text in
'*[!0-9]*)颜色=ff0000;;
0)颜色=888888;;
*)颜色=00ff00;;
esac

echo"$全文"
echo"$短文"
echo"$彩色"


asynchronous xmobar脚本示例还有什么更复杂的xmobar脚本,它从不阻塞等待google服务器的进程。它通过异步地将数据写入临时文件来工作。脚本的第一个参数将设置写入数据的超时时间,以便在状态栏更新之前检查gmail。
类似的操作应该适用于i3blocks。

/usr/bin/env sh

statusfile=/tmp/.gmail status
gmailcount=/path/to/gmailcount
sleeptime=${1:-0}
email=@example@gmail.com'
url=$https://mail.google.com'

echo@status(){
echo"<;action=\`xdg open$url\`>;<;fc=$2>;<;fn=1>;"
}
}


write_data(){
sleep"$sleeptime"
全文=$("$gmailcount"$email")
全文=${全文:-?}


case$full_text in
'*[!0-9]*)颜色=\ ff0000;;
0)颜色=\ 88888888;;
*)颜色=\ 00ff00;;
esac


echo_status"$full_text""$color">;"$statusfile"
}


触摸"$statusfile"
输出=$(cat"$statusfile")
[!-z"$output"]&;echo"$output"echo_状态"?"\#880088
>;"$statusfile"
写入数据&;

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

推荐PyPI第三方库


热门话题
java通过Spring依赖注入部署CXF服务端点   java字节或字节,请解释   java Swing组件命名约定?   java可以在JOptionPane中放置多个输入。显示输入对话框?   Dropwizard for Hibernate中的java SQLight方言   Windows8中的java CPU负载   将Java版本号映射到主要Java版本   使用数据库Java重新启动pi   java如何在RecyclerView中显示ArrayList?   使用枚举作为映射键的java会在数据库中生成RAW   java vscode不能用于本机模块?   分段函数的java导数   java为什么主体在spring安全性中作为类型对象返回?   java MySupportMapFragment未按照google地图Android显示位置名称   java Android OCR(光学字符识别)   java有什么理由我不应该使用文件阅读器吗?   java私有静态成员内存使用   java在将POJO转换为xml时去掉innerclass的类名   java我需要关闭音频剪辑吗?   java最新文件和文件的动态命名