计算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在Hibernate中使用条件连接两个表?   Stripes框架中的java对话范围   我的内存够吗?   Jenkins Java&Selenium如何处理2个随机异常?   javascript Java websockets跨端点共享会话   java是一种测试驱动的开发方法吗?   Java客户端中的Soap连接超时,但在SOAPUI中未超时   Java LibGDX:TileMap未在顶部和右侧渲染   linux Java::process builder:bash脚本:返回的文件名正确,但fileReader引发FileNotFoundException   java Selenium单击自动随机生成的DIV/ID/LINK   比较两个忽略元素和属性顺序的XMl文件   Java无限循环/调用   java如何防止操作修改cookie?   列出未保存的Java webpanel命令   在Java中,如何解决XXXX不能作为变量求解的错误?   Java概念后期版本格式化部分