linux脚本实现自动发送和收取邮件的设置方法

 更新时间:2013年05月11日 19:51:45   作者:  
这篇文章主要是介绍linux下通过脚本自动发送和收取邮件的设置方法,有需要的朋友可以参考下
1. 命令行模式下的发送邮件
1.1 安装sendemail
2.2 使用sendemail和举例

2. 命令行模式下的收取邮件
2.1 安装getmail4
2.2 配置getmail4和简单举例
2.3 用munpack从邮件中抽取附件

1. 命令行模式下的发送邮件

1.1 安装sendemail
在Ubuntu下可以用新立得软件包管理器搜索安装,或者在终端运行:
sudo apt-get install sendemail
建议在安装前先安装另外两个包:libio-socket-ssl-perl, libnet-ssleay-perl

2.2 使用sendemail和举例

如果你想用你的邮箱christ@gmail.com发送邮件到buddha@qq.com,在终端输入:
sendemail -s smtp.gmail.com -f christ@gmail.com -t buddha@qq.com -u hello -m "A hello from Christans to buddhists via gmail" -xu christ -xp password -o tls=auto

解释:
-s smtp.gmail.com 指定服务器域名,邮件发送一般通过SMTP协议实现,其域名一般为smtp.***.com,比如qq邮箱的服务器为smtp.qq.com,163邮箱则为smtp.163.com
-f christ@gmail.com指定发送邮箱地址
-t buddha@qq.com 指定目的邮箱地址
-u hello 邮件标题
-m "A hello from Christans to buddhists via gmail" 邮件正文,较长的正文可以先存在文本文件中,不妨命名为mail.txt,然后换用-o message-file=mail.txt
-xu christ 指定邮箱用户名,即邮箱地址@之前的部分
-xp password 指定发送邮箱的密码
-o tls=auto 加密方式在none, tls, ssl中自动选择
如果想在邮件中粘帖附件
-a attachment_file1 attachment_file2 attachment_file3

2. 命令行模式下的收取邮件

通过邮件客户端收取email邮件主要有两种方式:POP3和IMAP,邮件客户端通过POP3下载服务器上的邮件,但是IMAP默认只下载邮件的主题。基于命令行方式自动化的意义,采用POP3更合适。

2.1 安装getmail4

在Ubuntu下可以用新立得软件包管理器搜索安装,或者
sudo apt-get install getmail4

2.2 配置getmail4和简单举例

安装完毕后在终端执行一下命令
复制代码 代码如下:

cd ~
mkdir .getmail
cd .getmail
mkdir maildir
cd maildir
mkdir new cur tmp


后在 .getmail/下建立一个配置文件,如果这个配置文件是为收取buddha@qq.com这个邮箱配置的,不妨命名为getmailrc.buddha,然后编辑该文件,#后是注释:

复制代码 代码如下:

# This is a configuration file for buddha@qq.com
[retriever]
type = SimplePOP3Retriever
server = pop.qq.com #如果是gmail则改为pop.gmail.com
username = budda
password = password

[destination]
type = Maildir
path = ~/.getmail/maildir/ #就是刚才在~/.getmail/建立的目录,注意该目录下一定要有new,cur,tmp这三个子目录

[options]
read_all = False #只接受以前没有收取的邮件,如果改成True则收取邮箱中所有邮件
delete = False #下载邮件后不在服务器上删除该邮件,如果改成True则删除

# configuration file ends here
编辑好了之后在终端运行:
getmail --rcfile=getmailrc.buddha

getmail会自动收取邮件,下载的邮件会保存在~/.getmail/maildir/new/下。

2.3 用munpack从邮件中抽取附件

邮件正文和附件是作为一个整体文件被保存的,附件以MIME格式附着在整体文件最后,必须用程序抽取出来。
在Ubuntu下可以用新立得软件包管理器搜索安装mpack,或者 sudo apt-get install mpack
在终端中运行:munpack mail_file
程序会自动识别附件并抽取出来。

相关文章

  • Linux中shell脚本的jq命令用法详解

    Linux中shell脚本的jq命令用法详解

    这篇文章主要介绍了Linux中shell脚本的jq命令用法详解, jq是一个轻量级的命令行JSON处理工具,用于解析、过滤、修改和操作JSON数据,它提供了一种简洁和灵活的方式来处理JSON数据,可以与其他命令行工具结合使用,需要的朋友可以参考下
    2023-07-07
  • 结合示例说明shell是如何被解析的

    结合示例说明shell是如何被解析的

    本文主要介绍了结合示例说明shell是如何被解析的,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 解决linux的redhat版上mysql字符乱码的问题

    解决linux的redhat版上mysql字符乱码的问题

    下面小编就为大家带来一篇解决linux的redhat版上mysql字符乱码的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Shell脚本中的位置变量参数(特殊字符)实例讲解

    Shell脚本中的位置变量参数(特殊字符)实例讲解

    这篇文章主要介绍了Shell脚本中的位置变量参数(特殊字符)实例讲解,本文讲解了$#、$* 、$$ 、$!、$@、$-、$?等特殊字符的作用,并给出使用实例,比较清晰和简洁,需要的朋友可以参考下
    2015-05-05
  • Linux BASH多进程并行处理的方法实现

    Linux BASH多进程并行处理的方法实现

    Linux下BASH多进程并行处理的实现代码,需要的朋友可以参考下
    2013-01-01
  • php-fpm开机自动启动Shell脚本

    php-fpm开机自动启动Shell脚本

    这篇文章主要介绍了php-fpm开机自动启动Shell脚本,本文脚本只是范例,其实你编译安装完成后,启动脚本已经生成在编译目录中,只需要复制出来用就可以了,需要的朋友可以参考下
    2015-06-06
  • script_tool_for_linux.bash: Linux 环境下的 hosts 一键部署脚本

    script_tool_for_linux.bash: Linux 环境下的 hosts 一键部署脚本

    这篇文章主要介绍了script_tool_for_linux.bash: Linux 环境下的 hosts 一键部署脚本,需要的朋友可以参考下
    2016-04-04
  • 一个简单的linux命令 cp

    一个简单的linux命令 cp

    这篇文章主要介绍了一个简单的linux命令cp,cp命令用来复制文件或者目录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 消耗CPU资源的shell脚本

    消耗CPU资源的shell脚本

    使用死循环消耗CPU资源,如果服务器是有多颗CPU,可以选择消耗多少颗CPU的资源
    2013-08-08
  • Shell定时删除指定时间之前的文件

    Shell定时删除指定时间之前的文件

    这篇文章主要介绍了Shell定时删除指定时间之前的文件,本文用来删除一个月之前的备份文件,并加入到crontag定时删除,需要的朋友可以参考下
    2014-12-12

最新评论