прикрепление нескольких CSV-файлов в Pony

Я новичок в Пони. В моем приложении Sinatra я отправляю почту с помощью Pony. Но проблема, с которой я сталкиваюсь, связана с отправкой нескольких CSV-файлов в виде вложений. На почту мне приходит только один файл noname.csv с содержимым всех файлов. Но я не хочу, я хочу, чтобы все файлы прилагались отдельно. Я написал код следующим образом:

def send_mail(file1, file2) do
  Pony.mail(
  :from => "[email protected]",
  :to => "[email protected]",
  :subject => "text",
  :content_type => "text/csv",
  :via => :smtp,
  :via_options => {
  :address => "abc.com", 
  :port => 587,
  :user_name => "test",
  :password => "test123",
  :authentication => plain ,
  :domain => "abc.com",
  :enable_starttls_auto => true},
  :attachments => {"a.csv" => File.read("#{settings.root}"+"/"+"#{file1}"),"b.csv"=>File.read("#{settings.root}"+"/"+"#{file2}")} 
end 

person Joy    schedule 26.03.2014    source источник
comment
Добавление :headers, как во втором ответе на этот вопрос может улучшить ваш результат.   -  person Patru    schedule 26.03.2014


Ответы (1)


Я столкнулся с точно такой же проблемой и решил ее, добавив в электронное письмо пустое тело. Буквально...

:body => '',

Вот мой полный призыв:

Pony.mail({
  :to => '[email protected]',
  :via => :smtp,
  :body => '',
  :via_options => {
    :address              => 'smtp.gmail.com',
    :port                 => '587',
    :enable_starttls_auto => true,
    :user_name            => '<username>',
    :password             => '<application specific password>',
    :authentication       => :plain
  },
  :subject => 'test email',
  :attachments => {
    "file.csv" => File.read("/tmp/test_file.csv"),
    "file2.xls" => File.read("/tmp/test_file.xls"),
  }
})
person Richard Nienaber    schedule 19.11.2014