关注IT专业技能,持续提升竞争力。

Linux发送邮件

Linux 仙人球 2423℃ 0评论

近期遇到个事情,如何通过linux自己触发发送邮件到指定邮箱,让服务器监控任意能尽快的获取到服务器状态。下面详述mail方式、sendmail方式、sendEmail三种方式,为linux发送邮件提供解决办法;

一、mail方式(邮件简单,推荐用mailx):
先配置好下述内容:/etc/mail.rc,文件最后添加:

用法:

比如:

之后输入ctrl+D即可完成发送
上门这种方式非常繁琐,写脚本实现的话也麻烦,所以利用好管道操作就比较容易了,比如上门的这段内容就可以:

这样子就比较容易封装脚本了。
另外发送附件:

只能说还凑合用,mailx是mail的加强版,所以功能也比较强大;
二、sendmail方式:
看好了,是sendmail方式,全部小写的,这个发送邮件就比较方便了;

发送了个附件,但是我自己尝试一直是失败的,不是发送不成功,只是收到的邮件是被编码后的正文,而不是附件格式,所以sendmail即使再牛,不好研究,也被我放弃了;
只贴一下一个网友的做法吧:
  1. 下载安装mailutils
    wget ftp://ftp.gnu.org/gnu/mailutils/mailutils-2.2.tar.gz
    解压进入
    ./configure
    make && make install
  2. yum install -y sendmail
  3. yum install sharutils   # 使用带附件功能
  4. service sendmail start
  5. 查看sendmail启动没:   ps aux |grep sendmail
  6. 测试:    echo ‘content test’ | mail -s “title test”  -t aaa@b.com
  7. 此时发觉只能给公司内部发邮件, 如果需要还能给外面的邮箱(比如我的qq邮箱)发邮件则还需要
    vi  /etc/mail/sendmail.mc
    找到包含Addr的这一行:
    DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1‘)dnl
    修改Addr=0.0.0.0  ,表明可以连接到任何服务器
  8. End
三、sendEmail方式(比较复杂的邮件内容,推荐用这个):
sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.
看着这描述就够牛了,下面使用下:
下载安装:

发送邮件:

我发送成功的一封带附件邮件:

看到后面Nov 07 21:08:33 bogon sendEmail[2523]: Email was sent successfully!就说明发送成功了

命令说明:

man sendEmail:

 

转载请注明:V-Lover » Linux发送邮件

喜欢 (4)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址