Abrufen von E-Mails in Redmine über IMAP

7

Ich versuche, E-Mails über IMAP in Redmine abzurufen.

Die E-Mails, die ich generiere, sehen folgendermaßen aus:

FooBar Ltd 
123456
http://example.com/Foobar-Ltd-123456.html

Project: backend
Tracker: Dataerror

Beschreibung:
This is the description

===========================
CLIENT_IP: 192.168.1.215
HTTP_USER_AGENT: mozilla/asdfjköl

Ich versuche sie über diesen Befehl in Redmine zu holen:

rake -f /var/www/projects/redmine/Rakefile redmine:email:receive_imap \
RAILS_ENV="production" host=example.com port=993 ssl=true username=redmine \
password=1234 project=myproject tracker=other \
allow_override=project,tracker,category,priority \
move_on_success=read move_on_failure=failed

Die E-Mails werden jedoch in den fehlgeschlagenen Ordner verschoben.

Ich hatte dieses Setup vor einiger Zeit mit einem anderen E-Mail-Generator, aber so ziemlich der gleichen Vorlage, und ich kann nicht herausfinden, warum es nicht funktioniert. Die Berechtigungen scheinen ebenfalls in Ordnung zu sein.

Um dieses Problem weiter zu beheben, benötige ich einige Protokolldateien. Gibt es Protokolldateien, die von diesem Befehl geschrieben wurden? Oder gibt es andere Vorschläge zur Lösung dieses Problems?

Meine Umgebung:

danilo@jabba:/var/www/projects/redmine$
RAILS_ENV=production script/about
About your application's environment
Ruby version              1.8.7 (i486-linux)
RubyGems version          1.3.5
Rack version              1.0
Rails version             2.3.5
Active Record version     2.3.5
Active Resource version   2.3.5
Action Mailer version     2.3.5
Active Support version    2.3.5
Application root          /var/www/projects/redmine
Environment               production
Database adapter          mysql
Database schema version   20100819172912
Danilo Bargen
quelle
Wenn etwas Interessantes dabei auftaucht rake --trace, posten Sie es bitte.
Harrymc
@harrymc: Nichts Besonderes, keine Fehler. Das Abrufen funktioniert ohne Probleme, nur das Parsen scheint fehlzuschlagen. Und es gibt keine Ausgabe über die Gründe für das Versagen.
Danilo Bargen
Sie können versuchen, Werte von allow_override zu entfernen. IMO ist dies der einzige Parameter, der dazu führen kann, dass E-Mails fehlschlagen.
Harrymc
Und haben Sie sich Production.log angesehen?
Harrymc
@harrymc: Ja, ich habe nichts über IMAP. Und selbst wenn der Overrides-Parameter vollständig entfernt wird, schlagen alle fehl.
Danilo Bargen

Antworten:

2

Von Rake Redmine: E-Mail: receive_imap erhält keine Mails :

In der Modellausgabe.rb gibt es einen Code

validates_presence_of :subject, :description, :priority, :project, :tracker, :author, :status

was besagt, dass Priorität Pflichtfeld ist. Ich kann also kein Problem erstellen, ohne den Wert für den Prioritätsparameter zu erhalten.

Ich bin kein Benutzer von Rake und habe keine Umgebung, aber Sie können überprüfen, ob Sie irgendwo eine Validierungsregel haben, die dazu führt, dass E-Mails fehlschlagen. In Ihrem Beispiel enthält die E-Mail nur ein Projekt und einen Tracker. Wenn Sie also mehr benötigen, schlägt die E-Mail fehl.

harrymc
quelle
Nein, ich habe viele Kombinationen mit oder ohne Parameter ausprobiert. Ich habe auch versucht, einen Standardprioritätswert anzugeben. Keine Änderung.
Danilo Bargen
Der Artikel erwähnte Regeln, die in die Rake-Umgebung integriert sind und in Dateien mit dem Suffix ".rb" enthalten sind. Versuchen Sie, auf Ihrem Computer nach allen "* .rb" -Dateien zu suchen. Wenn Sie welche finden, prüfen Sie, ob etwas in ihrem Inhalt eine Glocke läutet, insbesondere eine Zeile "validates_presence_of:".
Harrymc
Nun, Redmine dokumentiert ihre erforderlichen und optionalen Werte. Und selbst wenn genau die Rake-Befehle aus ihren Beispielen verwendet werden, funktioniert dies nicht.
Danilo Bargen
Es kann in ihrer Umgebung mit ihrer ".rb" -Datei funktionieren.
Harrymc
1

Nach einigem Hin und Her stellte ich fest, dass in meinem Fall das Problem darin bestand, dass mein Projektname ein Leerzeichen enthielt. Ich habe den Namen zitiert (project = "My Project"), aber der Code ist nur stillschweigend fehlgeschlagen. Als ich den Projektnamen durch den festen Einzel-Token-Namen ersetzte (project = "my_project"). Es funktionierte.

Das Frustrierendste für mich war, dass ich nicht genügend diagnostisches Feedback hatte.

Simeon Fitch
quelle