热门标签 | 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邮件,你可以将邮件发送到这个邮箱里面,则收到邮件的同时,你的手机也会收到一个短信。大家不妨试试。


推荐阅读
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • grep、sed、awk一、grep的用法1、grep简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep包 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • ThinkPHP 文件缓存组件详解与应用
    本文深入探讨了ThinkPHP框架中的文件缓存类实现,提供了详细的代码示例和使用说明,旨在帮助开发者更好地理解和利用这一功能来优化应用程序性能。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 当我们忘记了Debian系统的登录密码而无法进入系统时,可以通过以下方法进行密码重置。在GRUB2引导界面中选择Debian启动项,按下“e”键进入编辑模式。接着找到以“linux”或“linux16”开头的行,在该行末尾添加“init=/bin/bash”参数。保存并继续启动,系统将进入单用户模式,此时可以使用`passwd`命令来重置root用户的密码。完成后重启系统即可正常登录。 ... [详细]
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社区 版权所有