因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送。mail命令的语法如下:
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[-- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
用mail命令发送邮件,有如下三种方式:
1、直接使用shell当编辑器
mail -s "Hello from mzone.cc by shell" admin@mzone.cc
hello,this is the content of mail.
welcome to www.mzone.cc
第一行是输入的命令,-s表示邮件的主题,后面的admin@mzone.cc则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。
2、使用管道进行邮件发送
echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "Hello from mzone.cc by pipe" admin@mzone.cc
使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。
3、使用文件进行邮件发送
mail -s "Hello from mzone.cc by file" admin@mzone.cc < mail.txt
使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@mzone.cc了。
使用上述三种方式都可以给外部邮箱进行邮件发送,但因为前面2中都是直接在shell中敲入邮件内容,因此无法输入中文,即使我们使用粘贴的方式输入了中文,那么收到的邮件也是乱码的。但第3种方式,我们可以在window下编辑好邮件内容后,放到linux下,再进行发送,这样就可以正常发送中文了。不过目前邮件的中文标题暂时没有找到解决办法。
因为mail程序本身就是调用sendmail来进行邮件发送的,因此我们可以在mail命令中使用sendmail的参数进行配置,比如我想使用特定的发件人发送邮件,可以使用如下命令:
mail -s "Hello from mzone.cc with sender" admin@mzone.cc -- -f user@mzone.cc<mail.txt
上面的命令中,我们使用了– -f user@mzone.cc这样的参数,这是sendmail的选项,其中-f表示邮件的发送人邮件地址。更多sendmail参数请查看这里http://www.courier-mta.org/sendmail.html,或者在shell中man sendmail进行帮助获取。
很多情况下,我们也需要使用邮件来发送附件,在linux下使用mail命令发送附件也很简单,不过首先需要安装uuencode软件包,这个程序是对二进制文件进行编码使其适合通过邮件进行发送,在CentOS上安装该软件包如下:
yum install sharutils
安装完成后我们就可以来进行附件的发送了,使用如下命令:
uuencode test.txt test | mail -s "hello,see the attachement" admin@mzone.cc<mail.txt
完成后就可以把text.txt文件作为邮件的附件发送出去了。uuencode有两个参数,第一个是要发送的文件,第二个是显示的文件名称。
这里我主要介绍的是在CentOS下使用mail发送电子邮件的一些使用方法,需要的要求是你的linux必须安装了sendmail并开启了,同时保证可以连接外网。另外,文章中提到的命令本人都经过亲自测试,保证完全可用,不过你需要将命令中的电子邮件地址换成自己的电子邮件地址。
有了这个mail命令,我们在linux下操作又多了一把利器了,perfect ^_^
分享到:
相关推荐
由于经常工作在linux下,所以很多时候需要将自己工作的报告或其他有用的东东发送给相关的人,所以花时间研究了一下在linux下如何发送mail。我们通常能用到下面3中发送方式: 1、使用Shell当编辑器发送邮件 ...
### Ubuntu下通过Mail命令发送邮件 #### 一、引言 在Linux环境下,尤其是Ubuntu操作系统中,使用命令行工具发送电子邮件是一种非常实用的功能。本文将详细介绍如何在Ubuntu系统中利用`mail`命令来发送邮件,并提供...
但是,在 Linux 中使用 Sendmail 发送邮件时,可能会遇到一些问题,例如邮件发送成功但是收不到邮件。本文将总结 Sendmail 发送邮件成功但收不到邮件的解决方案。 一、 Sendmail 安装和配置 在 Linux 中安装 ...
本文将详细介绍如何在Linux环境下利用脚本实现邮件的自动发送,以及可能涉及的相关工具和技术。 首先,我们需要安装一个能够发送邮件的工具。在大多数Linux发行版中,`mailx` 是一个常用的选择。它是一个命令行界面...
Linux下的`mail`命令是操作系统内置的一个用于处理邮件的命令行工具,主要在文本界面下使用,尤其在服务器管理中非常常见。它允许用户发送、接收、读取和管理电子邮件,而无需图形化的邮件客户端。在RHEL5系统中,当...
在Linux环境下,使用纯C语言实现邮件发送是一个挑战性的任务,因为这涉及到对网络协议的理解以及C编程的熟练掌握。本教程将深入讲解如何利用POP和SMTP协议来完成这一过程。 首先,POP(Post Office Protocol)是...
在使用mail命令发送邮件之前,需要进行一些配置,主要是设置SMTP服务器的信息。打开`/etc/mail.rc`文件,并在文件末尾添加以下内容: ```bash set from=1968089885@qq.com smtp="smtp.qq.com" set smtp-auth-user=...
最基础的发送邮件方式是使用内置的`mail`命令。下面的命令行示例展示了如何发送一个简单的文本邮件: ```bash echo 'hello world' | mail -s "Subject" -t yanggang@ithomer.com,yanggang_2050@163....
在Redhat5这样的系统中,可能需要升级或替换mail命令,例如使用`heirloom-mailx`,它提供了更现代的功能和对SMTP的支持。 以上就是Linux使用外部邮箱发送邮件的三种方法,每种都有其特点和适用场景。可以根据具体...
根据给定的文件信息,我们可以深入探讨如何在Linux环境下使用C语言实现邮件发送程序的关键知识点。这个程序通过网络编程和SMTP(Simple Mail Transfer Protocol)协议实现了邮件的发送功能。 ### Linux下C语言邮件...
在Linux环境下,使用`curl`命令发送邮件是一个常见的任务,特别是在自动化脚本或者系统集成中。`curl`是一个强大的命令行工具,用于传输数据到或从服务器,支持多种协议,包括HTTP、HTTPS、FTP等。在这个场景中,...
echo "警告:$PARTITION 的磁盘使用率已超过 $THRESHOLD%,当前使用率为 $USE%" | mail -s "磁盘监控警告" your_email@example.com # 使用mail发送警告邮件 fi done ``` 替换`your_email@example.com`为你的邮箱...
Linux 下 Postfix 邮件服务器搭建 在 Linux 下成功搭建起 Postfix 服务器需要完成以下几个步骤:安装 Postfix、配置 main.cf 文件、添加 DNS 服务器和测试 Postfix。 一、安装 Postfix 首先,需要卸载 sendmail ...
总的来说,Linux下用C语言发送邮件是一个涉及网络编程、SMTP协议、可能的库使用(如libcurl)以及邮件接收协议理解的综合实践。这个过程中,你需要对网络通信和邮件协议有深入的理解,以便正确地实现邮件的发送和...
#### 使用 mail 命令发送邮件 完成以上步骤后,可以通过以下命令来发送邮件: ```bash echo "Hello World" | mail -s "Subject" recipient-email@example.com ``` 其中 `"Hello World"` 是邮件内容,`Subject` 是...
下面将详细介绍如何在Linux下使用`mail`命令进行基本的邮件操作。 首先,通过键入`mail`命令,系统会列出所有未读的邮件。例如: ```bash $ mail ``` 邮件程序会按照时间顺序显示邮件列表,其中`U`表示未读邮件。...
Linux Mail服务器配置与管理是系统管理员必须掌握的关键技能之一,特别是在企业环境中,电子邮件通信是日常工作的核心。Sendmail是一款广泛使用的邮件传输代理软件,适用于多种Linux发行版,包括Red Hat Enterprise ...
在Linux中,我们通常使用SMTP(Simple Mail Transfer Protocol)协议来发送电子邮件,而发送短信则可能通过与SMS网关集成或者使用第三方API来实现。以下是一些关键知识点: 1. **SMTP服务器配置**:要发送邮件,你...