#bash #loops #email #curl
Вопрос:
Это сценарий, который у меня есть, это запрос curl к API. Я хочу прокручивать запрос Curl и изменять почту в конце (где здесь написано «ПОЧТА») с каждой итерацией
email='
dewebbutler@gmail.com
j.vandeseijp@gmail.com
info@dewebbutler.online
jarmohtc@gmail.com'
curl https://mandrillapp.com/api/1.0/messages/send-template -X POST -d '{"key": "_BqXhUnCZIKZwvjg7ePm8w","template_name": "onderzoek", "template_content": [ { "name": "template", "content": "onderzoek" } ], "message": { "subject": "TEST", "from_email": "info@validators-onderzoek.nl", "to": [ { "email": "EMAILHERE" } ] } }'
так что запрос на завиток, но каждый раз «кому»: «ПО ПОЧТЕ»
Комментарии:
1.
for e in $email; do curl '...'"$e"'...'; done
2. Я надеюсь, что это не настоящие живые адреса электронной почты. Раскрытие чьего-либо адреса добавит его в списки спамеров.
Ответ №1:
Вот мой ответ на основе BASH:
Поэтому вы должны выполнить его с помощью «bash scriptname.sh» работать вместо того, чтобы просто «ш». Сложность заключается в том, чтобы правильно проанализировать переменную в части json.
Смотрите встроенные комментарии для объяснения или просто спросите в комментарии, если неясно, как работает скрипт.
#!/bin/bash
# make "email" an bash array
email=("dewebbutler@gmail.com" "j.vandeseijp@gmail.com" "info@dewebbutler.online" "jarmohtc@gmail.com")
# set url
url="https://mandrillapp.com/api/1.0/messages/send-template"
# loop through email recipients
for recipient in ${email[@]}; do
# set up curl opts with the right email recipient
curl_opts=(-X POST -d "{"key": "_BqXhUnCZIKZwvjg7ePm8w","template_name": "onderzoek", "template_content": [ { "name": "template", "content": "onderzoek" } ], "message": { "subject": "TEST", "from_email": "info@validators-onderzoek.nl", "to": [ { "email": "$recipient" } ] } }")
# perform curl command
curl "${curl_opts[@]}" "$url"
done
Комментарии:
1. Это возможно с помощью чистого «sh», но его путь сложнее, и некоторые решения могут потребовать регулярных выражений или тому подобного. (например, можно было бы использовать sed)