【问题标题】:How do i email the results of a wget download via linux mail command?如何通过 linux mail 命令通过电子邮件发送 wget 下载的结果?
【发布时间】:2010-11-20 20:19:16
【问题描述】:

我需要编写一个脚本,该脚本将使用 wget 下载文件(基于提供的该文件的 url),然后将结果通过管道传送到 mail 命令,以便可以将其邮寄到提供的电子邮件地址。这将在基于 php 的项目中使用。

“管道结果”最好是在服务器上建立文件的链接,以便邮件的收件人只需单击该链接并在本地获取文件。

任何人在组合命令方面有经验吗?

【问题讨论】:

  • 我不明白,你问怎么办wget URL | mail -s "subject" email@address???
  • 您想从外部 url 下载,将该文件存储在 Intranet 服务器上,然后将指向该本地(缓存)文件的链接发送给 Intranet“内”的某人吗?
  • 那又如何,你想用 PHP 写这个?或一些shell脚本语言?如果是后者,derobert 的想法是正确的,而且应该很简单。但是,如果你想用 PHP 编写它,那可能会更复杂......
  • @derobert :我已经尝试过了,是的,邮件发送得很好,但邮件正文或附件中没有任何内容。因此,我认为必须有更多。更复杂的命令? @VolkerK:这是预期的基本概要。 @Thomi:最简单的方法最适合我,但我得到了上级的额外指示,主要是用 php 完成。

标签: php linux scripting email wget


【解决方案1】:

【讨论】:

    【解决方案2】:

    伪代码,甚至可以直接工作,将其保存到文件并使用 2 个参数调用它,第一个是您要下载的远程文件的 url,第二个是发送通知的电子邮件。

    LOCALPATH 变量应该是可以从 www 访问的目录,并且 LOCALURL 应该与该位置匹配。

    #!/bin/bash
    URL=$1
    FILE=`basename $URL`
    EMAIL=$2
    LOCALURL=http://yourdomain.com/files
    LOCALPATH=/var/www/html/files
    cd $LOCALPATH
    wget $URL
    cat<<END|mail -s "New file available" ${EMAIL}
    Hello, 
    
       your new file can be downloaded now from:
    
       ${LOCALURL}/${FILE}
    
    Thanks!
    END
    

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 2011-01-17
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2015-04-19
      • 1970-01-01
      相关资源
      最近更新 更多