Сообщение об ошибке почтового пистолета RestClient: отсутствует параметр from

Я использую RestClient в своем приложении rails для отправки электронных писем. Работает следующая команда Curl:

    curl -s "https://api:[email protected]/v2/sandbox30000.mailgun.org/messages" \
    -F from='Mailgun Sandbox <[email protected]>' \
    -F to='me <[email protected]>'\
    -F subject='Hello XYZ' \
    -F text='Congratulations, you just sent an email with Mailgun!  You are truly awesome!'

Но когда я пытаюсь сделать то же самое с помощью RestClient, я получаю следующее сообщение об ошибке:

    error response !!{
      "message": "'from' parameter is missing"
    }

сообщение об ошибке !!400 Неверный запрос

Вызов RestClient:

    RestClient::Request.execute(
    :url => "https://api:[email protected]/v2/sandbox0000.mailgun.org/messages",
    :method => :post,
    :from => 'Mailgun Sandbox <[email protected]>',
    :sender => 'Mailgun Sandbox <[email protected]>',
    :to => "[email protected]",
    :subject => "Hello XYZ",
    :text => "Text body",
    :"h:X-My-Header" => "www/mailgun-email-send",
    :verify_ssl => false)

person aswani521    schedule 22.07.2014    source источник


Ответы (1)


Когда вы используете Request.execute с несколькими аргументами полезной нагрузки и заголовками, вам нужно будет сообщить RestClient, какой это тип данных.

Вам нужны эти три исправления, чтобы получить эквивалентный curl-запрос с RestClient.

  1. Сгруппируйте все поля сообщения в хэш полезной нагрузки
  2. Добавьте один заголовок в хэш заголовка
  3. Сообщите RestClient, что полезная нагрузка должна быть отправлена ​​как составная.

Измененный запрос:

RestClient::Request.execute(
  :url => "https://api:[email protected]/v2/sandbox0000.mailgun.org/messages",
  :method => :post,
  :payload => {
    :from => 'Mailgun Sandbox <[email protected]>',
    :sender => 'Mailgun Sandbox <[email protected]>',
    :to => "[email protected]",
    :subject => "Hello XYZ",
    :text => "Text body",
    :multipart => true
  },
  :headers => {
    :"h:X-My-Header" => "www/mailgun-email-send"
  },
  :verify_ssl => false
)
person Pafjo    schedule 22.07.2014