设为首页 收藏本站
查看: 1037|回复: 1

[经验分享] Linux发邮件之mail

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-20 10:03:10 | 显示全部楼层 |阅读模式
1.安装 (需要sendmail或postfix服务)

sendmail
    # yum install sendmail
    # systemctl start sendmail.service
    # systemctl status sendmail.service

postfix
    # yum install mailx
    # systemctl start postfix.service
    # systemctl status postfix.service
      postfix.service - Postfix Mail Transport Agent
      Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
      Active: active (running) since 二 2017-09-19 14:08:03 CST; 1s ago
      Process: 72063 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
      Process: 72060 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
      Process: 72057 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
      Main PID: 72136 (master)
      CGroup: /system.slice/postfix.service
               ├─72136 /usr/libexec/postfix/master -w
               ├─72137 pickup -l -t unix -u
               └─72138 qmgr -l -t unix -u

      9月 19 14:08:03 CentOS73 systemd[1]: Starting Postfix Mail Transport Agent...
      9月 19 14:08:03 CentOS73 postfix/master[72136]: daemon started -- version 2.10.1, configuration /etc/postfix
      9月 19 14:08:03 CentOS73 systemd[1]: Started Postfix Mail Transport Agent.

附件软件包:uuencode
    yum install sharutils
检查:
    netstat -tunlp |grep 25

2.配置

# vim /etc/mail.rc
    文件尾增加以下内容
    set from=1825164562@qq.com smtp="smtp.qq.com"
    set smtp-auth-user="1825164562@qq.com" smtp-auth-password="rootroot"
    set smtp-auth=login

说明:
    from: 对方收到邮件时显示的发件人
    smtp: 指定第三方发送邮件的smtp服务器地址
    smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
    smtp-auth-user: 第三方发邮件的用户名
    smtp-auth-password: 用户名对应密码

重启:(安装哪个重启哪个)
    systemctl restart sendmail.service
    systemctl restart postfix.service

3.Mail命令

smtp:simple mail transmission protocol  :简单邮件传输协议,发邮件;
pop3:Post Office Procotol:邮局协议
imap4:Internet Mail Access Procotol:互联网邮件访问协议

mail –s “邮件主题” –c”抄送地址” –b “密送地址” -- -f 发送人邮件地址 –F 发件人姓名 < 要发送的邮件内容
选项:
    -b<地址>:指定密件副本的收信人地址;
    -c<地址>:指定副本的收信人地址;
    -f<邮件文件>:读取指定邮件文件中的邮件;
    -i:不显示终端发出的信息;
    -I:使用互动模式;
    -n:程序使用时,不使用mail.rc文件中的设置;
    -N:阅读邮件时,不显示邮件的标题;
    -s<邮件主题>:指定邮件的主题;
    -u<用户帐号>:读取指定用户的邮件;
    -v:执行时,显示详细的信息。

1)  无邮件正文
    mail -s "主题"  收件地址
        mail -s "测试"  898009427@qq.com

2) 有邮件正文
    mail -s "主题"  收件地址< 文件(邮件正文.txt)
        mail -s "邮件主题"  898009427@qq.com < /data/findyou.txt
    echo "邮件正文" | mail -s 邮件主题  收件地址
        echo "邮件正文内容" | mail -s "邮件主题"  898009427@qq.com
    cat 邮件正文.txt | mail -s 邮件主题  收件地址
        cat /data/findyou.txt | mail -s "邮件主题"  898009427@qq.com

3)  带附件
    mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt)
        mail -s "邮件主题"  898009427@qq.com -a /data/findyou.txt< /data/findyou.txt
    uuencode /data/findyou.txt | mail -s "邮件主题" 898009427@qq.com

邮件正文的生成:
     (1) 交互式输入;
     点号(.)单独成行可以表示正文结束;Ctrl+d提交亦可;
      发邮件
            [iyunv@NUC-1 ~]# mail -s 'hello hdfs' hdfs
             How are you these days?
             .       # 英文点号结尾表示结束;然后回车
             EOT
             [iyunv@NUC-1 ~]#
             收邮件
             mail
             #       # 输入数字查看对应第几封邮件
             q       # q退出
      (2) 通过输入重定向;
             mail -s 'hello hdfs' hdfs < file.txt(正文内容)
      (3) 通过管道;
             cat file.txt | mail -s 'hello hdfs' hdfs

4.脚本

# vim sendmail.sh
    #!/bin/bash

    #author:findyou
    help(){
       echo "eg: $0 [Subject] [address] [content_file] [file]"
       echo ""
       exit 1
    }

    if [ ! -n "$1" ] ; then
        help
    fi

    cDate=`date +%Y%m%d`

    if [ ! -n "$2" ] ; then
            help
        else
            mail_to=$2
        echo "      Send Mail to ${mail_to}"
    fi

    if [ ! -n "$4" ] ; then
            mail -s $1 ${mail_to}<$3
    else
        mail -s $1 -a $4 ${mail_to}<$3
    fi

使用
    # ./sendmail.sh  test  898009427@qq.com  abc.txt
        Send Mail to 898009427@qq.com
说明:建议直接使用命令 ,有脚本只是为了在打印显示相关信息,多此一举。

5.问题

发送邮件:
    # echo '这是邮件标题' | mail -s "这是邮件内容" 9379963xx@qq.com
出现异常:
    # send-mail: fatal: parameter inet_interfaces: no local interface found for ::1

查看centos中的postfix日志
    # more  /var/log/maillog
        postfix: fatal: parameter inet_interfaces: no local interface found for ::1

    # vi /etc/postfix/main.cf
        inet_interfaces = localhost
        inet_protocols = all
        改成:
        inet_interfaces = all
        inet_protocols = all


重启:(安装哪个重启哪个)
    # systemctl restart sendmail.service
    # systemctl restart postfix.service

运维网声明 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-404768-1-1.html 上篇帖子: CentOS 6.x/7.x下安装EPEL yum源 下篇帖子: 关于Centos7 命令不能补全解决方法详解
累计签到:83 天
连续签到:1 天
发表于 2017-9-20 10:35:24 | 显示全部楼层
两个写在一起看起来乱,还是分开写比较好

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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