【问题标题】:Sending simple message body + file attachment using Linux Mailx [duplicate]使用 Linux Mailx 发送简单的消息正文 + 文件附件 [重复]
【发布时间】:2012-01-09 01:01:43
【问题描述】:

我正在编写shell script 以使用 Linux Mailx 发送电子邮件,电子邮件必须包含文件附件和消息正文。

目前正在发送带有附件的电子邮件:

output.txt | mail -s "Daily Monitoring" james@dell.com

我希望添加消息正文。我该怎么办?

Linux 邮件:

mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr

【问题讨论】:

标签: shell mailx


【解决方案1】:

通常的方法是使用uuencode作为附件和echo作为正文:

(uuencode output.txt output.txt; echo "Body of text") | mailx -s 'Subject' user@domain.com

对于 Solaris 和 AIX,您可能需要先放置 echo 语句:

(echo "Body of text"; uuencode output.txt output.txt) | mailx -s 'Subject' user@domain.com

【讨论】:

  • 尝试执行第二个,提示一个空白区域,退出的唯一方法是ctr+c,似乎代码没有关闭,我该如何解决?
  • 当我按ctrl+c时,它发送的邮件没有附件,请指教。
  • 管道中的这些命令是否分别在您的系统上运行?
  • @Johnsyweb-我需要在不使用 uuencode 的情况下执行相同的活动。有可能吗??
  • @nikhil:这里有几种选择stackoverflow.com/q/17359/78845
【解决方案2】:

最好的方法是使用mpack!

mpack -s "主题" -d "./body.txt" "././image.png" 邮件地址

mpack - 主题 - 正文 - 附件 - 邮件地址

【讨论】:

    【解决方案3】:

    Johnsyweb 的回答对我不起作用,但对 Mutt 的回答对我有用:

    echo "Message body" | mutt -s "Message subject" -a myfile.txt recipient@domain.com
    

    【讨论】:

      【解决方案4】:

      试试这个对我有用:

      (echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com
      

      【讨论】:

        【解决方案5】:

        在 RHEL Linux 上,我无法将消息放在电子邮件正文中,而不是作为附件。使用 od -cx,我发现我的电子邮件正文包含几个 /r。我使用 perl 脚本去除 /r,消息被正确插入到电子邮件正文中。

        mailx -s "subject text" me@yahoo.com < 'body.txt'
        

        文本文件body.txt包含字符\r,所以我用perl去掉\r。

        cat body.txt | perl success.pl > body2.txt
        mailx -s "subject text" me@yahoo.com < 'body2.txt'
        

        这是成功.pl

            while (<STDIN>) {
                my $currLine = $_;
                s?\r??g;
                print
            }
        ;
        

        【讨论】:

          【解决方案6】:

          你可以试试这个:

          (cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com
          

          【讨论】:

            猜你喜欢
            • 2020-06-02
            • 2014-10-29
            • 1970-01-01
            • 2014-07-23
            • 1970-01-01
            • 2016-08-16
            • 1970-01-01
            • 2014-08-09
            • 1970-01-01
            相关资源
            最近更新 更多