设为首页 收藏本站
查看: 952|回复: 0

[新闻资讯] 小猿圈讲解如何用Linux命令行发电子邮件

[复制链接]
累计签到:3 天
连续签到:3 天
发表于 2019-6-28 16:30:33 | 显示全部楼层 |阅读模式
Linux开发对于很多朋友来说是一个特别感兴趣的编程语言,现在很多年轻人也是在学习Linux作为自己的第二职业,今天小猿圈linux讲师就讲一下如果用Linux命令行发电子邮件,希望有正在学习linux的你有所帮助。



Linux可以用多种方式通过命令行发送电子邮件。有一些方法十分简单,有一些相对会复杂一些,不过仍旧提供了很多有用的特性。选择哪一种方式取决于你想要什么——向同事快速发送消息,还是向一批人群发带有附件的更复杂的信息。
mail
发送一条简单消息最便捷的Linux命令是mail。假设你需要提醒老板你今天得早点走,你可以使用这样的一条命令:
$ echo "Reminder: Leaving at 4 PM today" | mail -s "early departure" myboss
另一种方式是从一个文件中提取出你想要发送的文本信息:
$ mail -s "Reminder:Leaving early" myboss < reason4leaving
在以上两种情况中,你都可以通过-s来为邮件添加标题。
sendmail
使用sendmail命令可以发送一封不包含标题的快信。(用目标收件人替换recip):
$ echo "leaving now" | sendmail recip
你可以用这条命令发送一条只有标题,没有内容的信息:
$ echo "Subject: leaving now" | sendmail recip
你也可以用sendmail发送一条包含一条标题行的完整信息。不过使用这个方法时,你的标题行会被添加到要发送的文件中,如下例所示:
Subject: Requested lyrics
I would just like to say that, in my opinion, longer hair and other flamboyant
affectations of appearance are nothing more ...
你也可以发送这样的文件(lyric文件包含标题和正文):
$ sendmail recip < lyrics
sendmain的输出也可以很冗长。如果你感到好奇并希望查看发送系统和接收系统之间的交互,请添加-v(verbose)选项。
$ sendmail -v recip@emailsite.com < lyrics
mutt
mutt是通过命令行发送邮件的一个很好的工具,在使用前你需要安装它。mutt的一个很方便的优势就是它允许你在邮件中添加附件。
使用mutt发送一条快速信息:
$ echo "Please check last night's backups" | mutt -s "backup check" recip
从文件中获取内容:
$ mutt -s "Agenda" recip < agenda
使用-a选项在mutt中添加附件。你甚至可以添加不止一个附件——如下一条命令所示:
$ mutt -s "Agenda" recip -a agenda -a speakers < msg
在以上的命令中,msg文件包含了邮件中的正文。如果你没有其他补充的内容,你可以这样来代替之前的命令:
$ echo "" | mutt -s "Agenda" recip -a agenda -a speakers
mutt另一个有用的功能是可以添加抄送(-c)和密送(-b)。
$ mutt -s "Minutes from last meeting" recip@somesite.com -c myboss < mins
telnet
如果你想深入了解发送电子邮件的细节,你可以使用telnet来进行电子邮件交互操作。但正如所说的那样,你需要“学习术语”。邮件服务器期望一系列命令,其中包括自我介绍(EHLO命令)、提供发件人(MAILFROM命令)、指定收件人(RCPTTO命令),然后添加消息(DATA)并以.结束消息。并不是所有的电子邮件服务器都会响应这些请求。此方法通常仅用于故障排除。
$ telnet emailsite.org 25
Trying 192.168.0.12...
Connected to emailsite.
Escape character is '^]'.
220 localhost ESMTP Sendmail 8.15.2/8.15.2/Debian-12; Wed, 12 Jun 2019 16:32:13 -0400; (No UCE/UBE) logging access from: mysite(OK)-mysite [192.168.0.12]
EHLO mysite.org                <== introduce yourself
250-localhost Hello mysite [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
MAIL FROM: me@mysite.org      <== 指定发件人
250 2.1.0 shs@mysite.org... Sender ok
RCPT TO: recip            <== 指定收件人
250 2.1.5 recip... Recipient ok
DATA                  <== 邮件内容开始
354 Enter mail, end with "." on a line by itself
This is a test message. Please deliver it for me.
.                  <== 内容结束
250 2.0.0 x5CKWDds029287 Message accepted for delivery
quit                  <== 结束交互
向多个收件人发送电子邮件
如果你希望通过Linux命令行向一大组收件人发送电子邮件,你可以使用一个循环来帮助你完成任务,如下面应用在mutt中的例子:
$ for recip in `cat recips`
do
    mutt -s "Minutes from May meeting" $recip < May_minutes
done
以上就是小猿圈linux老师讲解的如何用Linux命令行发电子邮件得全部内容,希望对与学习linux的你有所帮助,想要了解更多linux知识的小伙伴可以关注我linux自学交流1群:819805410,或者关注小猿圈里面有最全最新的课程知识,遇到不懂得问题可以到小猿圈寻找答案。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-914556-1-1.html 上篇帖子: 小猿圈解析Java码农是否有必要转型大数据开发 下篇帖子: 小猿圈解析微前端的好处和缺陷
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表