• liunx 内置mail 发送邮件


    
    

    邮件配置文件/etc/mail.rc 

    [root@001 ~]# vim /etc/mail.rc #添加、修改如下内容
    set from=xxxx@126.com
    set smtp=smtp.126.com
    set smtp-auth-user=xx@126.com
    set smtp-auth-password=xxx
    set smtp-auth=login

    配置说明:

    from:对方收到邮件时显示的发件人

    smtp:指定第三方发邮件的smtp服务器地址

    set smtp-auth-user:第三方发邮件的用户名

    set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码

    smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式

     

    -----------------------------------------------------------------------------------------------------------------

    发送邮件

    -s 后面是邮件的主题,主题后面是目标邮件地址,当编辑完成之后使用Ctrl+D退出,同时邮件也会被发送出去

    [root@centos6 ~]# mail -s "Lucky mail" 收件人地址
    Hi Tomas,
    Thank you for you help!
    Regards,
    Daniel

    # 错误提示
    send-mail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
    send-mail: warning: inet_protocols: configuring for IPv4 support only
    postdrop: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
    postdrop: warning: inet_protocols: configuring for IPv4 support only
    # 提示只支持IPV4
    vim /etc/postfix/main.cf
    inet_protocols = all  修改配置为 inet_protocols = ipv4

    postfix启动服务  # 这里根据自己的邮箱服务,这里我的是postfix ,有的是使用的sendmail 

      /etc/init.d/postfix  start  或者 service postfix start  

           直接发送邮件

    mail -s "邮件主题"  收件人地址   # 回车

    邮件内容  # 回车
    ctrl+D 结束并发送邮件

    第一行是输入的命令,-s表示邮件的主题,后面的是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字。

    当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。


      使用管道进行邮件发送

        echo "邮件正文" | mail -s "邮件主题"  mailaddress@linuxde.net
        使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。

    使用文件进行邮件发送
      mail -s "邮件主题" admin@linuxde.net < mail.txt
      使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@linuxde.net了。


    很多情况下,我们也需要使用邮件来发送附件,在linux下使用mail命令发送附件也很简单,不过首先需要安装uuencode软件包,这个程序是对二进制文件进行编码使其适合通过邮件进行发送

    在CentOS上安装该软件包如下: yum install sharutils

    安装完成后我们就可以来进行附件的发送了,

    使用如下命令: uuencode test.txt test | mail -s "hello,see the attachement" admin@linuxde.net

    完成后就可以把text.txt文件作为邮件的附件发送出去了。uuencode有两个参数,第一个是要发送的文件,第二个是显示的文件名称。

    ------------------------------------------------------------------------------------------------------------

    查看邮件 $ mail

    mail程序将逐个显示用户的信件,并依照时间顺序,显示最新的信件。

    每显示一段信件,mail都询问用户是否要对该信件作些处理。

    若用户回答d,则表示删除信件;若仅按回车键,表示对信件不作任何改动(信件仍旧保存,下次还可读这一信件);

    若回答p,则要求重复显示信件;s filename表示要把信件存入所命名的文件;

    若回答q,表示要从mail退出。

    > 表示当前邮件    U 表示未读

    & p   显示当前邮件

    & 2    读取第2个的邮件

    其他常用参数: 
    unread   标记为未读邮件
    h|headers   显示当前的邮件列表
    l|list   显示当前支持的命令列表
    ?|help   显示多个查看邮件列表的命令参数用法
    d   删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件
    f|from   只显示当前邮件的简易信息。 f num 显示某一个邮件的简易信息
    f|from num   指针移动到某一封邮件
    z   显示刚进行收件箱时的后面二十封邮件列表
    more|p|page   阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行
    t|type|more|p|page num   阅读某一封邮件
    n|next|{什么都不填}   阅读当前指针所在的下一封邮件内容
         阅读时,按空格键就是翻页,按回车键就是下移一行
    v|visual   当前邮件进入纯文本编辑模式
    n|next|{什么都不填} num   阅读某一封邮件
    top   显示当前指针所在的邮件的邮件头
    file|folder   显示系统邮件所在的文件,以及邮件总数等信息
    x   退出mail命令平台,并不保存之前的操作,比如删除邮件
    q   退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当前用户家目录下的mbox文件中。如果在mbox中删除文件才会彻底删除。

    -------------------------------------------------------------------------------------------------------

    检查所传送的电子邮件是否送出,或滞留在邮件服务器中
    语法:/usr/lib/sendmail -bp
    若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
    若为其他错误信息,表示电子邮件因故尚未送出。

        关闭系统发送邮件

      echo "unset MAILCHECK" >> /etc/profile

  • 相关阅读:
    java IO流 (八) RandomAccessFile的使用
    java IO流 (九) Path、Paths、Files的使用
    java 面向对象(三十七):反射(一) 反射的概述
    iOS下JS与OC互相调用(二)--WKWebView 拦截URL
    iOS下JS与OC互相调用(一)--UIWebView 拦截URL
    iOS下JS与原生OC互相调用(总结)
    Android简易实战教程--第十四话《模仿金山助手创建桌面Widget小部件》
    Android简易实战教程--第十三话《短信备份和还原~三》
    Android初级教程:屏幕分辨率
    Android初级教程:单击事件的传递机制初谈
  • 原文地址:https://www.cnblogs.com/xuey/p/7649306.html
Copyright © 2020-2023  润新知