Problem beim Hinzufügen einer in S3 gespeicherten Datei über Paperclip als Anhang in ActionMailer

8

Ich verwende Paperclip und S3 zum Hochladen und Speichern von Dateien in einer Rails 3 App. Das Hochladen der Dateien funktioniert gut, aber beim Versuch, eine hochgeladene Datei an eine E-Mail-Nachricht mit actionmailer anzuhängen, stoße ich auf Probleme. Nach einer Menge von Troubleshooting kann hoffentlich jemand einen Hinweis anbieten.

Von einem hohen Niveau scheint es, dass ich die Datei zuerst herunterladen muss, mit einer Art von Download-Methode vor dem Anhängen, die hier vorgeschlagen wird, aber ich nicht ganz folgen wie zu implementieren - Büroklammer + ActionMailer - Hinzufügen eines Anhangs?

Nachdem ein Nutzer in der App eine Datei hochgeladen hat (in diesem Fall ein Quiz), sollte der Administrator per E-Mail über die Datei informiert werden, die vom Nutzer hochgeladen wurde. Ich laufe weiter in eine "Keine solche Datei oder Verzeichnis". Unten ist der Code, mit dem ich gerade arbeite. Irgendwelche Ideen oder Vorschläge würden sehr geschätzt!

%Vor%

Die AdminMailer-Klasse:

%Vor%

Außerdem wird der QuizzesController hinzugefügt:

%Vor%     
pvskisteak5 18.03.2013, 04:31
quelle

2 Antworten

19

Nachdem wir etwas mehr herumgespielt haben, war es in der Lage, es zum Laufen zu bringen. Unten ist, was für mich funktioniert hat - hoffentlich hilft es jemandem. Der Schlüssel war Open Uri, da die Quiz-Dateien auf S3 sind.

%Vor%     
pvskisteak5 18.03.2013 05:24
quelle
0

In meinem Fall bestand das Problem darin, content_type: "text/html" im Aufruf von mail() anzugeben. Das Entfernen hat das Problem für mich auf Rails 4 behoben.

%Vor%

Dies hat den Anhang des PDF-Dokuments sowohl in Outlook als auch in Google Mail richtig dargestellt, sollte aber überall funktionieren.

    
Sergio Tapia 30.07.2015 23:44
quelle