• shell命令行下发送邮件


    我的电脑用于学习linux,所以分区,格式化,重装系统经常事。
    很多时候,写完笔记,并没有对数据进行备份。因为我想我不会再重装系统了,但这种想法经常被打破。

    为了解决这个问师,我选择用移动硬盘备份,但是文件太小,而且总插拔移动硬盘对硬件也不太好。另一种方法我选择打开邮箱,把笔记发送到邮箱里,但麻烦的是每次打开网页,输入密码,创建邮件也很繁琐。

    如果能在命令行下,一条命令就把它送到邮箱就牛了。为了这个我找了一些资料,但只有在centos下测试成了。deepin没有相关的文章,参考ubuntu又总不成功,不知道为啥……

    今天依然没有死心,又找到一篇文章(ubuntu 发送邮件的),测试了一下,居然成功了。

    现在分享一下:

    一、安装

    	sudo apt install heirloom-mailx
    

    二、寻找mail命令

    根据资料提示,安装完之后运行mail命令就可以了,但我运行提示我没有mail这个命令, 前几次也是这样。 真让人崩溃!!

    不过今天还是想碰碰运气,怎么会没有mail命令呢?

    既然安装了mailx,我想查查安装在什么位置了。

    which heirloom-mailx
    

    发现在:/usr/bin/heirloom-mailx。 根据目录的规则/usr/bin下面应该是二进制文件,但命令名这么长,怎么回事? 于是显示一下长格式信息。

    ls -l /usr/bin/heirloom-mailx 
    lrwxrwxrwx 1 root root 6 Jan 28  2017 /usr/bin/heirloom-mailx -> s-nail
    

    发现此文件是一个链接文件 ,那么s-nail是不是相当于资料上写的mail命令呢?

    先不管了,我就把它当成mail吧,于是自己创建一个s-nail链接

    sudo ln -s /usr/bin/s-nail /usr/bin/mail
    

    三、配置

    根据资料的提示,配置文件为/etc/s-nail.rc,把下面几行放置在最后

    set from=xxx@163.com
    set smtp=smtp.163.com
    set smtp-auth-user=xxx@163.com
    set smtp-auth-password=123456
    set smtp-auth=login
    

    把xxx改成自己的邮件,把密码改成自己邮件配置的密码(注意:不是邮箱密码,是客户端授权密码),当然你需要事先把邮箱设置一下。

    四 、测试发送邮件

    • mail 就是刚才自己创建的链接文件。
    • -s "主题“,就是发邮件时填写的邮件标题
    • myccloves@163.com 表示给谁发送的

    回车之后输入邮件的正文,输入完成后按ctrl+d结束输入,之后提示您是否发送这条信息,输入yes发送成功。

    我登录邮件检查一下果然收到了。

    五、定制我的发送邮件命令

    我要把笔记碎片发到邮件,只需要一个标题,添加多个附件就可以了。比如:

    up "title" file.txt 1.jpg ...
    

    up是自己定义的命令,"title"是邮件的标题,file.txt是文章碎片, 1.jpg是一张图片等, 按回车发送。

    有了想法就好办了,自己定制一个脚本:

    #!/bin/bash
    
    if [ $# -lt 2 ]; then
    	echo "up subject attachment ..."
    	exit 1
    fi
    
    
    first=1
    attachment=""
    
    for i in $@
    do
    	if [ $first -eq 1 ]; then
    		first=0
    	else
    		attachment="$attachment  -a  $i "
    	fi
    done
    
    echo "$1..." | mail -s $1   $attachment myccloves@163.com
    

    测试:

    up 测试发送邮件 1.png 2.jpg 笔记.txt
    

  • 相关阅读:
    C#基础
    自动化测试
    C# 数据结构题目
    .NET基础知识
    Sharepoint题目
    题目总结2
    数据库索引
    题目总结(2014-1-10)
    Stack详解
    SpringBoot入门基础知识点
  • 原文地址:https://www.cnblogs.com/myccloves/p/9420584.html
Copyright © 2020-2023  润新知