autodl服务器配置邮箱提醒服务

文章描述了如何在Ubuntu18和20的Linux系统中配置邮件服务,解决代码运行时间过长的问题,包括添加apt源、安装必要的软件包、配置邮件客户端,以及创建脚本来自动发送完成通知。过程中提到了在不同地区可能遇到的差异和解决方案,如使用BSD版本的mailx以及处理服务启动问题。
摘要由CSDN通过智能技术生成

某些代码跑的时间太长,难以实时监控,遂尝试配置邮件服务,注意结合Linux脚本使用更加自动化

默认Ubuntu18,20.

似乎与分区有关,不同区域的apt源不一样,而且密钥不一样,无法单纯添加源后更新apt

在北京A区配置完全成功,

随便选一个服务器,进入后

sudo vim /etc/apt/sources.list
# 最后一行添加
deb http://cz.archive.ubuntu.com/ubuntu xenial main universe
# 配置自己邮箱发送
sudo apt update # 有的更新不了,参考下文
sudo apt install postfix
sudo dpkg-reconfigure postfix
sudo apt-get install net-tools

# 安装邮箱
sudo apt-get install mailutils
sudo apt-get install heirloom-mailx  # 有的装不上,参考另一份

# 配置文件
vi /etc/s-nail.rc
# 这里推荐163邮箱,方便一点,qq也行,有点复杂
set from="你的邮箱"
set smtp="忘了,差不多在开启相应邮箱服务后会给"
set smtp-auth-user="你的邮箱"
set smtp-auth-password="开启服务后给的授权码"
set smtp-auth=login
set sendcharsets=ANSI_X3.4-1968   #用于设置字体编码


# 测试发送
echo "Complete!" | s-nail  -s "CodeHint from " 收件箱
# 或者
s-nail  -s "邮件主题" 收件箱  < result.txt

而如果上文中apt更新失败以及不能安装heirloom-mailx,则参考下文

以下是在西北B区,出现了上文所提到的错误

# 安装bsd版本,不用添加源了
sudo apt update
sudo apt install postfix
sudo dpkg-reconfigure postfix
sudo apt-get install net-tools

sudo apt install bsd-mailx # bsd版本
sudo vim /etc/mail.rc
# 最后添加
set from="发件箱"
set smtp="同上"
set smtp-auth-user="发件箱"
set smtp-auth-password="同上"
set smtp-auth=login
set sendcharsets=ANSI_X3.4-1968

set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb

# 测试发送
echo "Complete!" | mailx  -b "CodeHint from " 收件箱
echo "This is the body of the email." | mailx -s "Test Email" 收件箱


# 如果出现报错,依次执行后再次执行测试发送
mkfifo /var/spool/postfix/public/pickup
ps aux | grep mail
kill 
sudo /etc/init.d/postfix restart

需要注意,这里要提醒,这里其实也不是完全成功,最后测试并不能从收件箱收到邮件,只能从发件箱收到一封提示发送失败的邮件,这里的邮件提醒只能靠这个发送失败的提示邮件来做到

以下是失败提醒内容,随信附件eml文件里是原本要发送的内容,通过这个方法可以勉强完成提醒的需求,手机上最好装一个网易邮箱

This is the mail system at host autodl-container-9ca74ebe19-434053c5.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system
又有一个问题

关机重启后再次测试,发送失败,怀疑可能是相关服务没有启动,于是运行了一下

sudo /etc/init.d/postfix restart

再次发送成功,而且把之前没有发送成功的也发送了,所以启动服务器时最好执行一下这个命令或者直接写进脚本

相关原理并不清楚,但是推测应该是服务器统一集中管理避免数据泄露或者网络攻击,在自己的虚拟机上没有问题

参考了集中介绍heirloom与bsd配置方法的博客,搜关键词即可

脚本示例提供

创建run.sh

#!/bin/bash

# 执行重启服务
/etc/init.d/postfix restart

# 运行nnUNet_train命令
nnUNet_train 3d_fullres nnUNetTrainerV2 135 0
nnUNet_train 3d_fullres nnUNetTrainerV2 135 2
nnUNet_train 3d_fullres nnUNetTrainerV2 135 3
nnUNet_train 3d_fullres nnUNetTrainerV2 135 4




# 发送完成通知邮件
echo "Complete!" | mailx -b "CodeHint from " -s "nnUNet_train Execution Complete" 收件箱
chmod +x run.sh
./run.sh  # 注意如果有sudo命令,则写在脚本里的命令不要出现sudo,而是用以下方式运行
sudo ./run.sh

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值