热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通过命令行工具高效运用SMTP协议发送电子邮件

在服务器管理和大规模操作中,常需将系统状态或执行结果通过电子邮件通知相关人员。本文详细介绍了如何利用Linux自带的命令行工具高效地通过SMTP协议发送邮件,提供了一种快速便捷的解决方案。

在服务器以及一些大型操作的使用上,经常会有一个需求,就是将运行状态或者运行结果发送邮件给相关人员,利用命令行发邮件是一个非常常用、非常便捷的方式,本文简单介绍下利用Linux自身带的mail程序来进行发送邮件。

默认情况下,mail程序都会被安装,在Ubuntu下,可能会使用esmtp包,RHEL(CentOS, Scientific Linux)则貌似不需要,已经安装好了。

现在主要的操作是建立或者修改用户目录下的.mailrc文件,样例如下:

set from=XXX@XXX.com
set smtp=smtp.XXX.com
set smtp-auth-user=XXX@XXX.com
set smtp-auth-password=*******
set smtp-auth=login

在RHEL环境下,现在就可以使用下面的命令进行发送邮件了:

mail -s "主题" to1@xxx.com -c to2@xxx.com,to3@xxx.com 

这里-s后面是邮件标题,-c后面是抄送,mailbody.txt是事先编写好的邮件体,这在自动化操作下非常方便,可以在脚本里面定制。

如果上面的操作成功了,则说明邮件发送成功,你可以查收下收件箱了。如果不成功,则查看下sendmail服务是否启动,这个很重要。而在Debian或者Ubuntu下,使用的是exim4,因此需要修改一个文件/etc/exim4/update-exim4.conf,修改如下:

dc_eximconfig_cOnfigtype=’local’

修改为

dc_eximconfig_cOnfigtype=’internet’

重启exim4,这就可以使用外部smtp发送邮件了。

如果想使用的是gmail,可以参考这里:

set smtp-use-starttls
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=your-user-name@gmail.com
set smtp-auth-password=your-password
set from="the return address you want"

当然,基于安全考虑,最好将.mailrc权限设置为0600。

现在可以编写脚本来将一些在线的任务状态及时发送给自己或者相关人员。另外如果你拥有的是中国移动的139邮件,你可以将邮件发送到这个邮箱里面,则收到邮件的同时,你的手机也会收到一个短信。大家不妨试试。

 

在服务器以及一些大型操作的使用上,经常会有一个需求,就是将运行状态或者运行结果发送邮件给相关人员,利用命令行发邮件是一个非常常用、非常便捷的方式,本文简单介绍下利用Linux自身带的mail程序来进行发送邮件。

默认情况下,mail程序都会被安装,在Ubuntu下,可能会使用esmtp包,RHEL(CentOS, Scientific Linux)则貌似不需要,已经安装好了。

现在主要的操作是建立或者修改用户目录下的.mailrc文件,样例如下:

set from=XXX@XXX.com
set smtp=smtp.XXX.com
set smtp-auth-user=XXX@XXX.com
set smtp-auth-password=*******
set smtp-auth=login

在RHEL环境下,现在就可以使用下面的命令进行发送邮件了:

mail -s "主题" to1@xxx.com -c to2@xxx.com,to3@xxx.com 

这里-s后面是邮件标题,-c后面是抄送,mailbody.txt是事先编写好的邮件体,这在自动化操作下非常方便,可以在脚本里面定制。

如果上面的操作成功了,则说明邮件发送成功,你可以查收下收件箱了。如果不成功,则查看下sendmail服务是否启动,这个很重要。而在Debian或者Ubuntu下,使用的是exim4,因此需要修改一个文件/etc/exim4/update-exim4.conf,修改如下:

dc_eximconfig_cOnfigtype=’local’

修改为

dc_eximconfig_cOnfigtype=’internet’

重启exim4,这就可以使用外部smtp发送邮件了。

如果想使用的是gmail,可以参考这里:

set smtp-use-starttls
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=your-user-name@gmail.com
set smtp-auth-password=your-password
set from="the return address you want"

当然,基于安全考虑,最好将.mailrc权限设置为0600。

现在可以编写脚本来将一些在线的任务状态及时发送给自己或者相关人员。另外如果你拥有的是中国移动的139邮件,你可以将邮件发送到这个邮箱里面,则收到邮件的同时,你的手机也会收到一个短信。大家不妨试试。


推荐阅读
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 当我在命令行登录MySQL后,无法访问任何依赖数据库连接的PHP应用。此问题每次都会出现。以下是复现问题的具体步骤及解决方案。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统上快速安装和配置Bitnami版本的GitLab,包括下载安装文件、执行安装过程以及设置邮件服务等步骤。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文详细介绍了Debian及其衍生发行版中如何通过/etc/network/interfaces文件进行网络接口的配置,对比了Red Hat系系统的不同之处,并提供了多种常见配置示例及解析。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • 转自:http:www.yybug.comread-htm-tid-15324.html为什么使用Twisted? 如果你并不准备使用Twisted,你可能有很多异议。为什么使用T ... [详细]
  • Linux环境下Redmine快速搭建指南
    本文将详细介绍如何在Linux操作系统中使用Bitnami Redmine安装包快速搭建Redmine项目管理平台,帮助读者轻松完成环境配置。 ... [详细]
  • 深入理解IIS:全面解析与应用
    本文详细介绍了IIS(Internet Information Services)的功能及其在不同Windows系统中的应用,探讨了IIS如何支持多种网络服务,如Web、FTP、NNTP和SMTP,并解释了其在现代网站开发和服务器管理中的重要性。 ... [详细]
  • 本文深入探讨了网络编程中的基本概念,如指针、引用和可重入函数,并详细介绍了OSI七层模型和TCP/IP四层模型的功能与协议。同时,文章还对比了HTTP与HTTPS的区别,分析了HTTP请求报文的结构,讨论了TCP与UDP的主要差异,以及滑动窗口协议的工作原理。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • Web网络基础
    目录儿1使用HTTP协议访问Web2HTTP的诞生2.1因特网的起源2.2互联网、因特网与万维网2.3万维网与HTTP3网络基础TCPIP3.1TCPIP协议族3.2TCPIP的分 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
author-avatar
天狼飞虎神印
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有