欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

将服务器上的训练结果发送到邮箱

程序员文章站 2022-06-16 18:40:28
我们实验室是搭建了一个服务器集群来供学生使用计算资源。我的模型在网络上训练时,我总是要登录服务器查看迭代结果。这真的是个繁琐的过程。而且也不知道训练到哪一步了。我就想让程序主动的通知我。一开始是打算使用短信服务的,但是配置过程极为繁琐。于是选用邮箱,本来以为要在本地配置邮箱服务,但是我们可以使用qq邮箱的第三方服务来发送邮件。代码模块我已经写好了代码模块,可以将它作为网络项目的一个模块方便的在项目中使用。就像是上面这样。因为与邮件服务器的连接长时间不使用会断开,因此每次都实例化会...

我们实验室是搭建了一个服务器集群来供学生使用计算资源。

我的模型在网络上训练时,我总是要登录服务器查看迭代结果。这真的是个繁琐的过程。而且也不知道训练到哪一步了。

我就想让程序主动的通知我

一开始是打算使用短信服务的,但是配置过程极为繁琐。于是选用邮箱,本来以为要在本地配置邮箱服务,但是我们可以使用qq邮箱的第三方服务来发送邮件。


代码模块

我已经写好了代码模块,可以将它作为网络项目的一个模块方便的在项目中使用。

将服务器上的训练结果发送到邮箱

就像是上面这样。因为与邮件服务器的连接长时间不使用会断开,因此每次都实例化会更好一些。

具体的代码可在我的github获取:easy_smtp_sender

支持的功能

easy_smtp_sender这个python文件,定义了一个简单的smtp邮件发送类 它利用QQ邮箱提供的第三方服务,来发送简单的邮件。当然也欢迎大家提交代码来扩展支持的平台。 目前它仅支持的功能有:

  • 发送邮件到指定的邮箱
  • 邮件正文只能包含简单文本(一段字符串)
  • 附件支持文本,图片,视频的批量发送

接口用法

类的实例化接口为:

EasySmtpSender(sender,password,receiver=None,msg_from=None,is_silent=True)

  • 其中sender与password是必选的参数。sender就是你的邮箱,password是qq邮箱第三方服务的授权码。授权码的申请方法参见下一节。
  • receiver若是不指定的话邮件会被默认的发送到你的sender邮箱中。一般来说不需要指定。
  • msg_form用来指定发件人的姓名,默认是你的邮箱,一般不用指定。
  • 上面所述的参数都是字符串
  • is_silent是一个布尔参数用来指定是否输出‘发送成功’之类的信息。默认是不输出这些消息。

实例化以后只有一个接口可以使用:

object.send_mail(subject,main_body_text=None,attachment=None)

  • subject是一个字符串,指定邮件主题
  • main_body_text是一个字符串,指定正文的文本。可以将本轮训练的loss放在正文。
  • attachment既可以是一个文件路径的字符串,也可以是一个文件路径的列表。其中的文件会以附件的形式发送

实例

将服务器上的训练结果发送到邮箱

将服务器上的训练结果发送到邮箱

上面的邮件发送成功了,就是使用了第一章图片的代码发送的

获取QQ邮箱的授权码

请参见CSDN教程

python学习总结-利用第三方平台发送SMTP邮件_qq_36528311的博客-CSDN博客_python 第三方smtp​blog.csdn.net将服务器上的训练结果发送到邮箱

必须要先获取QQ邮箱的第三方授权码,用来在代码中登录邮箱。


谢谢大家,好用的话,给个赞噢

本文地址:https://blog.csdn.net/DaoiestFire/article/details/107289057