service sendmail status
如果sendmail服务未启动可以使用如下命令启动:
service sendmail start
【注意】每次修改网络配置后(如修改IP,主机名等),都要重新启动sendmail服务,否则发送邮件会失败。
使用mail命令发送Internet邮件的最简单的语法形式为:
mail username@address
下面是一个发送邮件的简单示例:
Subjiect:是邮件的主题
下面是邮件的正文
【注意】这里的Cc:是按Ctrl+D键后的现实结果,不属于邮件内容
检查邮件是否发送成功可以使用下面的命令:
sendmail–bp
若显示“/var/spool/mqueueisempty”的信息,表示邮件发送成功。打开子自己的邮箱就可以看见邮件发送成功状态。
若显示其他错误信息,邮件肯定发送失败了。一般情况下需要重启sendmail服务。
这也是为什么提sendmail服务的原因。
如果想把一个文本文件的内容当做电子邮件的内容,则可以使用下面的命令:
mail-s“subject”username@address
或
catfilename|mail-s“subject”username@address
参数-s表示邮件的主题
例如:
mail-s“Atestmailfile”xiaofan@126.com
mail命令不能发送附件,如果要发送附件,推荐安装mutt邮件客户端的RPM软件包。
使用-a参数指定附件,其他参数与mail命令类似:
例如:
mutt-s“testmutt”-a/root/testmailxiaofan@126.com
mutt是一个非常强大的软件。
笔者做过做过使用python发送邮件- Python使用yagmail库发送邮件 ,那么在不同平台都可以完成一些监控报警功能。但是在linux平台下,如果脚本是shell实现的,可以调用python脚本,也可以直接使用shell来发送。
1、按照mailx软件包, 安装后在/usr/bin/mail
sudo yum install mailx -y
2、修改配置文件/etc/mail.rc
直接修改配置文件vim /etc/mail.rc, 在最后追加下面的配置,笔者使用的是163邮箱。需要注意的是,需要进入邮箱开启SMTP服务,然后得到一个授权码,用于登录第三方邮件客户端的专用密码。smtp-auth-password即为授权码,而不是邮箱地方密码。
3、发送邮箱测试
命令行输入: echo "测试邮件" | mail -s "邮件主题" -a ./myshells/clear_buffcache.sh ***@qq.com 。-s添加邮箱主题,并添加附件后将邮箱内容一起发送给***@qq.com 。邮箱里面立马就可以收到了。
也可以使用文件内容进行邮件发送:mail -s "邮件主题" 收件地址 < mail.txt 。
也可以在命令行输入邮箱内容:mail -s "邮件主题" 收件地址 ,输入完这行命令后回车,会进入邮件正文的编写,可以输入任何文字。当邮件正文输入完成后,需要按CTRL+D结束输入后发送。
如果发送失败,咋命令行会提示错误: message not sent,并会在用户目录下的dead.letter里面显示具体信息。
问题:在使用linux进行邮件发送时,有时候希望发送html格式的邮件,如果发现发送的html格式邮件,可是邮箱里收到的还是纯txt格式的内容。
原因:
linux使用mail函数发送需要添加 header参数,将发送内容指定为txt/html
解决:
1. 使用命令行发送邮件测试
echo"<b><div style='color:red'>HTML Message goes here</div></b>"| mail -s"$(echo -e "This is the subject\nContent-Type: text/html")"332800462@qq.com
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)