发送电子邮件的简单脚本

headnode-notifier的Python项目详细描述


头节点通知程序

发送电子邮件的简单脚本。

用法示例

usage: headnode_notifier [address] [OPTION]

Simple script for email notifications. Uses gmail by default.

positional arguments:
                    Recipient address

optional arguments:
  -h, --help        show this help message and exit
  -v, --version     show program's version number and exit
  --subject         Message subject
  --body            Message body
  --attach          Attachment
  --serv-addr       Server address. Default <smtp.gmail.com>
  --port            Server's port. Default: <587>
  --from-addr       Account address.
  --password-file   Read password from exeternal file. Prevents hard-coding
                    password anywhere in this script. IMPORTANT! Password is
                    stored as plain text! Do NOT use with your personal
                    account!

假设您使用的是默认帐户,并且您的密码文件位于正确的位置

您可以指定邮件主题、内容并附加文件。

headnode_notifier.py recipient@domain.com --subject 'Important message' --body 'Hello there!' --attach ./some/file.zip

您也可以只发送空白消息,如果对其余部分使用默认值,则只有recipient@domain.com是真正必需的。

如果您愿意,可以使用--serv-addr smpt.provider.com --port 42 --from-addr my.address@provider.com

指定服务器、端口和其他

配置处理

如果在cli中未指定选项,则会从headnode_notifier.config文件中读取该选项。它的目的是通过设置默认值来方便使用:

  1. 服务器地址。
  2. 港口。
  3. 邮箱地址
  4. /路径/到/密码文件
  • 配置内容:
[server]
address = smtp.gmail.com
port = 587

[mailbox]
address =
password_file =
  • 配置位置:$home

  • 配置名称:

.headnode_notifier.config

密码处理

为了避免将密码存储在脚本中的任何位置,将从文件中读取密码。您可以使用--password-file /path/to/file或在配置文件中指定路径。请记住,密码文件是纯文本的因此请谨慎使用该脚本。

使用gmail

如果使用gmail,请记住允许不太安全的应用程序连接。您可以在google account security page

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

推荐PyPI第三方库


热门话题
java找不到当前线程的会话   同步Java同步方法调用非同步方法   这段代码的java时间复杂度是如何列出一个集合的所有子集的?   java Jetty SslConnectionFactory nextProtocol   为什么在java集合中使用游标而不是for循环   java如何对长函数进行单元测试?   如何从java中的文本输入创建数组   java工具栏内容未显示,尽管出现了片段内容   java MediaPlayer无法处理本地文件   java在多次读取时,从TCP服务器读取的数据将挂起   java组织。springframework。数据领域无法将PageImpl强制转换为   java如何使用@WithMockUser并从属性文件中传递用户名和密码?   JavaSpringBootGradle插件2。x如何使用自定义启动器布局工厂   sockets Java客户端和服务器之间使用字符串等进行通信的“行业标准”方法是什么   java变量引用不存在的资源:${project\u loc:project\u name}   搜索如何返回LDAP Java中所有用户的特定属性?   JDK1.8.016x的java密钥斗篷代理问题   spring如何使用Java中的Exchange获取邮件   java Kotlin+Dagger 2:Dagger*文件不会生成   如何在传入的double上执行操作,然后在Java中返回