Как отправить по электронной почте результаты загрузки wget с помощью почтовой команды Linux?
Вопрос
Мне нужно написать сценарий, который будет загружать файл (на основе предоставленного URL-адреса этого файла) с помощью wget, а затем передавать результат команде mail, чтобы его можно было отправить по указанному адресу электронной почты.Это будет использоваться в проекте на основе PHP.
«Передача результата» предпочтительно должна представлять собой встроенную ссылку на файл на сервере, чтобы получатель почты мог просто щелкнуть ссылку и получить файл локально.
У кого-нибудь есть опыт в этой области объединения команд, которым они могли бы поделиться?
Решение
Псевдокод может даже работать напрямую: сохраните его в файл и вызовите с двумя параметрами: первый — это 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
Другие советы
Использовать Привязка PHP для CURL