概念解释

电邮用户代理(MUAlinux收发邮件命令大全linux公社,MailUserAgent)

电邮传送代理(MTA,MailTransportAgent)

电邮分发代理(MDA,MailDeliverAgent)

mail命令和mailx命令即为负责查看、编写短信和向MTA发送短信的MUA。mailx是mail的功能强化版。

sendmail即为负责电邮在网路上传输的MTA,将电邮从一个MTA传送至另一个MTA。

linux发邮件命令_linux邮件发送命令_linux收发邮件命令大全

本人使用的是CentOS6.6,自带了mail、sendmail命令。经测试,邮箱可以收到电邮,可能会被拦截装入垃圾电邮,多尝试几次后,前面几次每次都可以收到了,恐怕是被防火墙辨识为可信。

163邮箱是直接被拦截,啥都不显示,垃圾电邮也没有。

mail命令

1.直接使用shell当编辑器

linux发邮件命令_linux收发邮件命令大全_linux邮件发送命令

mail -s "Dreamhj Test Mail" xxxxxxxx@qq.com
hello i m xx
welcome to www.dreamhj.com

第一行是输入的命令,-s表示短信的主题,前面的则是短信的接收人,输入完这行命令后回车,会步入电邮正文的编撰,我们可以输入任何文字linux收发邮件命令大全,例如前面的两行。当电邮正文输入完成后,须要按CTRL+D结束输入,此时会提示你输入Cc地址,即电邮抄送地址,没有直接回车就完成了电邮的发送。

收到的电邮发信人格式为:root@hjcentos.localdomain

2.使用管线进行短信发送

echo“helloimxx”|mail-s“DreamhjTestMail”

3.使用文件进行短信发送

mail-s“Hellofrombyfile”<mail.txt

由于mail程序本身就是调用sendmail来进行短信发送的,sendmail会使用本地服务器的hostname进行发件人填写,通常为root@xxxx.localdomain格式,而且主流的短信服务提供协会拦截这些电邮。

linux收发邮件命令大全_linux发邮件命令_linux邮件发送命令

解决办法:我们可以配置mail命令使用外部SMTP服务linux游戏,下边用163邮箱为例:

vim/etc/mail.rc

在末尾添加如下配置:

set from=邮箱用户名@163.com
set smtp=smtp.163.com
set smtp-auth-user=邮箱用户名
set smtp-auth-password=密码
set smtp-auth=login

linux邮件发送命令_linux发邮件命令_linux收发邮件命令大全

mail-s“Dreamhj”

去收件箱查看,发觉短信发件人变为:

发送附件,直接加-a参数即可

mail-s“Dreamhj”-a/root/test.txt<test.txt

短信过滤

短信服务提供商可能会通过SPF、DKIM、DMARC、逆向地址解析等技术来过滤垃圾电邮。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复