本文中以163邮箱为例,测试shell邮件发送功能。常见的工具有:mailx、sendmail、mutt等。

1、设置邮件客户端

(1)启用pop3、smtp服务,以支持第三方客户端支持

(2)设置授权码

2、安装使用mailx工具

(1)安装

yum -y install mail sendmail  #安装
service sendmail restart #启动服务,注:使用mail之前必须启动sendmail

(2)配置,编辑/etc/mail.rc (CentOS系统),在末尾添加如下内容

# 发送邮件的配置
set from=your_account@.com #外部smtp服务器认证的用户名
set smtp=smtp..com: #外部smtp服务器的地址
set smtp-auth=login #邮件认证的方式
# 外部smtp服务器认证的用户名
set smtp-auth-user=your_account@.com
# 外部smtp服务器认证的用户密码(授权码)
set smtp-auth-password=your_passwd
# 忽略验证
set ssl-verify=ignore
set nss-config-dir=/etc/maildbs/

说明:bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。
而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的。

(3)使用mail命令发送邮件

  mail常见的使用方法有三种,如下:

方式一:直接使用shell当编辑器

# mail -s "邮件主题" 收件地址
hello,this is the content of mail.
welcome to www.mzone.cc

  第一行是输入的命令,-s表示邮件的主题,后面的admin@mzone.cc则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。

方式二:使用管道进行邮件发送

echo "邮件内容" | mail -s "邮件主题" 收件地址
echo "邮件内容" | mail -s "邮件主题" -a 附件 收件地址 

  使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。

方式三:使用文件进行邮件发送

mail -s "邮件主题" 收件地址 < mail.txt

  使用上面的命令后,可把mail.txt文件的内容作为邮件的内容发送给admin@mzone.cc

4、使用

示例:

 echo "测试" | mail -s "测试邮件功能" 个人邮箱@xx.com

查看结果

mutt参考:Linux下使用mutt自动发送邮件 http://blog.csdn.net/xiongjiezk/article/details/50191515

Mutt中文手册  https://handsomecheung.github.io/mutt-manual-cn/mutt-manual-1.5.19-cn.html

sendmail常用参数参考:sendmail  http://www.courier-mta.org/sendmail.html,或可参考man手册

shell邮件发送功能实现的更多相关文章

  1. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         ...

  2. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

    在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...

  3. redmine邮件发送功能配置详解

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...

  4. .NET开发邮件发送功能

    .NET开发邮件发送功能 今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知 ...

  5. SpringBoot 2.X从0到1实现邮件发送功能

    Spring中提供了JavaMailSender接口实现邮件发送功能,在SpringBoot2.X中也封装了发送邮件相关的Starter并且提供了自动化配置. 本文目录 一.添加对应的Starter二 ...

  6. spring-boot-route(二十二)实现邮件发送功能

    在项目开发中,除了需要短信验证外,有时候为了节省 短信费也会使用邮件发送.在Spring项目中发送邮件需要封装复杂的消息体,不太方便.而在Spring Boot项目中发送邮件就太简单了,下面一起来看看 ...

  7. System.Net邮件发送功能踩过的坑

    System.Net邮件发送功能踩过的坑 目录 System.Net邮件发送功能踩过的坑 1.EazyEmail邮件发送类库 2.邮件发送授权码与邮件密码 3.通过邮件密码来发送邮件 4.Wiresh ...

  8. 结合ABP源码实现邮件发送功能

    1. 前言 2. 实现过程 1. 代码图(重) 2.具体实现 2.1 定义AppSettingNames及AppSettingProvider 2.2 EmailSenderConfiguration ...

  9. SSH项目里面 忘记密码的邮件发送功能

    package com.xxx.util; import java.util.Date; import java.util.Properties; import javax.mail.Address; ...

随机推荐

  1. PAT甲题题解-1033. To Fill or Not to Fill (25)-模拟

    模拟先说一下例子,最后为方便起见,在目的地安增加一个费用为0的加油站0 1 2 3 4 5 6 7 87.1 7.0 7.2 6.85 7.5 7.0 7.3 6.0 00 150 200 300 4 ...

  2. Java实验报告(实验五)

    课程:Java程序设计                         班级:1351            姓名:王玮怡      学号:20135116 成绩:             指导教师: ...

  3. Linux第三周学习总结——构造一个简单的Linux系统MenuOS

    第三周学习总结--构造一个简单的Linux系统MenuOS 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...

  4. 每日scrum(7)

    今天是小组用来写文稿的日子,包括软件需求分析报告,概要设计报告,详细设计报告,数据库设计报告,软件测试报告,各组员领取自己的任务然后完成~ 任务看板: 燃尽图:

  5. Day Nine

    站立式会议 站立式会议内容总结 331 今天:学习plupload 遇到问题:无 明天:学习中文分词 442 今天:解决gradle以及项目计划页面的bug 遇到的问题:调用工具类以及配置gradle ...

  6. 第二个Sprint冲刺第六天

    第二个Sprint冲刺第六天

  7. Daily Scrum - 12/03

    Meeting Minutes   后端基本完成,结束当前Sprint, 开始下一个Sprint.进一步讨论了UI,并完成了任务分配.   Burndown     Progress   part 组 ...

  8. Beta版本冲刺(三)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  9. MongoDB入门 和nodejs操作

    简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...

  10. OneZero第四周第三次站立会议(2016.4.13)

    1. 时间: 15:15--15:30  共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...