szerintem nem feltétlen kell hozzá adatbázis, de ha mégis letárolnád a fájlokat, akkor blob-ban érdemes. Az alap emailnek is van méretbeli korlátja, de nem hiszem, hogy google-nél jobbat lehetne csinálni, ami a küldést illeti.
szerintem nem feltétlen kell hozzá adatbázis, de ha mégis letárolnád a fájlokat, akkor blob-ban érdemes. Az alap emailnek is van méretbeli korlátja, de nem hiszem, hogy google-nél jobbat lehetne csinálni, ami a küldést illeti.
van egyébként valami attachment fu nevű plugin a feltöltéshez.
A paperclip-et is nézegettem. Tudtok valami linket küldeni, ahol le van írva hogyan lehet NEM adatbázisba, hanem egyből levélhez csatolni képet/képeket, esetleg tömörített anyagokat? Illetve még az a kérdés, hogy Herokun elég lehet e az 1 dinos ingyenes cucc akkor, ha fájlokat küldenek gmailen keresztül? Ezt nem értem teljesen. Ez az adatforgalom átmegy a Herokun keresztül, vagy egyből a gmailen?
te most fájlba mented a feltöltött anyagokat, vagy egy objectekben van? mind a kettő egyszerű:
htt p://edgeguides.rubyonrails.org/action_mailer_basics.html
htt p://gauravsohoni.wordpress.com/2010/06/24/rails-3-action-mailer/
csak, ha object-ben (@file) van, akkor
attachments['filename.jpg'] = File.read('/path/to/filename.jpg')
helyett:
attachments['filename.jpg'] = @file
egyébként miért nem jó a sima sendmail?
Most ami a fomba kerül sehova nem mentődik, csak elküldődik emailben.
Tehát kell csinálni egy file_field aminek pl. @file lesz az értéke?
Tehát még egyszer: Nem adatbázisba akarom feltölteni a fájlt, fájlokat. Úgy akarom megoldani, mint pl. a gmail-ben van. A mail formban tudjon a user tallózni képeket, fájlokat és egyből elküldeni anélkül, hogy tárolódna.
Ezt nem értem.
Leírom miről is van szó, mit próbálok (Sok-sok segítséggel) összerakni.
Tehát egy oldalon (backgrounderaser.heroku.com) amit most csinálgatok a contact form nem csak arra lenne használva, hogy sima leveleket tudjanak küldeni, hanem képeket, tömörített anyagokat tudjanak egyből mailen átküldeni.
a controllerben programozd le, hogy a feltöltött fájl kerüljön egy változóba és a mailer-ben megadott delivery metódusban csinálj egy fájl paramétert és azt add hozzá benne az attachment-hez. Utána már csak amikor meghívod a delivery metódust, akkor paraméterben add át neki a fájlt. Ennyi, nem bonyolult. (ja, a fájlnevet is át kell adni.) Ha több van, az annyiból bonyolítja, hogy egy adatstruktúrát kell hozzá csinálnod és azt átadni.
pl csinálhatsz hozzá egy class-t a modelben:
És akkor maga az object egy olyan tömb lehetne, amiben ezek az Uploaded objectek vannak.Kód:class Uploaded include ActiveModel::Serialization attr_accessor :file_name, :file def initialize(attributes = {}) @file_name=attributes[:file_name] @file=attributes[:file] end # persisted is important not to get "undefined method `to_key' for" error def persisted? false end end
Azt még mindig nem értem, miért erőlteted a gmail-t küldésre. A szerverre, ha felrakod a sendmailt, az ugyanolyan jó.
Lehet, hogy most bődületes hülyeséget írok... de.
A Herokun az ingyenes light cuccot használom, amíg ki nem derül, egyáltalán van e értelme az oldalnak.
Ott egy sendgrid nevű valamivel lehet leveleket küldeni elvileg. Az ingyenes verzió 200 levelet tud. Na most, a gmail van beállítva és nem kell a sendgrid. Tehát nincs a korlát.
Ha jól gondolom persze.
Könyvjelzők