выполните цикл запроса Curl и измените почту в конце

#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)