Ruby on Rails: как прикрепить файл к письму - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь отправить электронное письмо с вложением из моего проекта Rails.Я использую Google API, в частности API gmail_v1.

Я смог получить свой код для отправки электронного письма с темой и телом, но не смог прикрепить CSV.Имя файла CSV: "results.csv"

m = Mail.new(
  to: "to@gmail.com",
  from: "from@gmail.com",
  subject: "Test Subject",
  body:"Test Body")

  m.attachments['shoes.csv'] = {mime_type: 'results.csv', content: CSV}

  message_object = Google::Apis::GmailV1::Message.new(raw:m.to_s)
  service.send_user_message("me", message_object)

Без строки:

m.attachments['shoes.csv'] = {mime_type: 'results.csv', content: CSV}

Код работает, но без вложения.Как правильно добавить вложение?

1 Ответ

0 голосов
/ 09 февраля 2019

Вы отправляете неправильные аргументы вложениям.

вложения должны отправляться, как показано ниже

attachments['shoes.csv'] = { mime_type: 'text/csv', content: File.read("path/to/csv/or/generator/methos") }

Обновленный код будет иметь вид

m = Mail.new(
  to: "to@gmail.com",
  from: "from@gmail.com",
  subject: "Test Subject",
  body:"Test Body")

  m.attachments['shoes.csv'] = { mime_type: 'text/csv', content: File.read("path/to/csv/or/generator/methos") }

  message_object = Google::Apis::GmailV1::Message.new(raw:m.to_s)
  service.send_user_message("me", message_object)

Надеюсь, что это произойдетпомощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...