【问题标题】:how to send a mail with a message in unix script如何在unix脚本中发送带有消息的邮件
【发布时间】:2013-12-23 22:23:21
【问题描述】:

刚接触 unix 并学习它的谈话和行动。 我正在.ksh 中编写脚本,并且需要发送带有消息的邮件。 目前在我的脚本中使用这个命令:

    mailx -s"File not found" abc@def.com

此命令可以帮助我获得主题和收件人姓名。 我的问题是我怎样才能写一条消息。因为每次我运行脚本时它都会暂停并要求我输入消息然后执行,我想预先包含消息,这样脚本就不会在两者之间暂停。

【问题讨论】:

    标签: linux email unix ksh


    【解决方案1】:
    echo 'Message body goes here' | mail -s 'subject line goes here' email@provider.com
    

    【讨论】:

      【解决方案2】:

      由于 mailx 将正文作为标准输入的输入,您可以将正文通过管道传递给它:

      echo "Hello World" | mailx -s"File not found" abc@def.com
      

      或者使用here document

      mailx -s"File not found" abc@def.com << END_TEXT
      Hello World 
      END_TEXT
      

      【讨论】:

      • 第二个看起来很时髦,我试过但不适合我:(
      • 对于第一个命令,我使用了以下命令: mail_person=abc@def.com echo "test"|mailx -s"test" $mail_person 现在这个命令确实给我发邮件但也将它添加到/var/spool/mail 在 unix 中
      【解决方案3】:

      在命令行或脚本中试试这个:

      echo "This is the message." | mailx -s "Subject" abc@def.com
      

      您可以使用来自文件的预定义消息:

      cat message.txt | mailx -s "Subject" abc@def.com
      

      【讨论】:

      • 第一个对我有用,但是当我收到我的邮件时,邮件正文有“”作为试用版,它不会显示在邮件中,但是当我收到它时,你会得到一个预览你的任务栏就在那里,我可以看到它没有任何区别,但很想知道非常感谢您的帮助
      【解决方案4】:

      除了mailx(在其他答案中提到),您还可以使用sendmail:

      cat <<EOF | sendmail -t
      To: recipients-mailaddress
      From: your-mailaddress
      Subject: the-subject
      mailtext
      blabla
      .
      EOF
      

      如果 sendmail 不在您的路径中,您可能需要添加完整路径。例如。 /usr/sbin/sendmail 或 /usr/lib/sendmail。

      更新
      另见question

      【讨论】:

        【解决方案5】:

        如果您还想在要发送的邮件中添加附件。给你:

        echo 'Type Message body' | mailx -s 'Type subject' -a path/filename.txt email@provider.com
        

        示例:

        echo 'PFA report' | mailx -s 'Today's Report' -a `path`/report1306.txt  xyz@gmail.com
        

        【讨论】:

          【解决方案6】:

          预先定义邮件内容,然后这样做:

          mailx -s"File not found" abc@def.com < mailcontent
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-01-08
            • 2011-04-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-03-25
            • 2010-12-19
            • 2012-09-09
            相关资源
            最近更新 更多