Project

General

Profile

FrRedmineReceivingEmails » History » Version 3

yannick quenec'hdu, 2010-06-23 02:55
En cours de rédaction

1 1 yannick quenec'hdu
[[FrGuide]]
2
3
h1. Recevoir des courriels
4
5
{{>toc}}
6 2 yannick quenec'hdu
7 1 yannick quenec'hdu
Depuis la version 0.8, Redmine peut être configuré pour créer des demandes ou des commentaires directement par courriels.
8
9
h2. Mise en oeuvre
10
11
Vous pouvez configurer Redmine pour recevoir des courriels avec une des méthodes suivantes :
12
13
* Adresser des messages à partir de votre serveur de messagerie
14
** Distant: Fonctionne avec un serveur de messagerie distant, les courriels sont traitées immédiatement, rapide (pas d'environnement à redémarrer)
15
** Local: Nécessite quelques configuration sur votre serveur de messagerie local (ex. Postfix sendmail, etc.)
16
17
* Récupérer les courriels depuis un serveur IMAP ou POP3 :
18
** Distant: Facile à mettre en oeuvre, ne nécessite pas de configurer le MTA, fonctionne avec un serveur de messagerie distant
19
** Local: Le traitement n'est pas réalisé instantanément (un cron doit être ajouter pour lire périodiquement les courriels)  
20
21
h3. Adresser des courriels à partir de votre serveur de messagerie
22
23
Un script autonome peut être utilisé pour transmettre des courriels entrants à partir de votre serveur de messagerie.
24
Ce script lit un flux de courriel depuis l'entrée standard et le transmet à Redmine via une requête HTTP.
25
Le fichier est accessible depuis le répertoire de redmine: @extra/mail_handler/rdm-mailhandler.rb@.
26
27
Pour pouvoir l'utiliser, vous devez activer l'API qui reçoit les courriels:
28
Aller dans > Administration > Configuration > Emails entrants, vérifier que la fonction *Activer le WS pour la réception d'emails* est bien cocher et saisir ou générer une clé secrète
29
30
copier le fichier @rdm-mailhandler.rb@ sur votre serveur de messagerie, vérifier qu'il possède les permissions pour s'exécuter et configurer le serveur de messagerie
31
32
Usage:
33
34
35
<pre>
36
rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
37
38
Required:
39
  -u, --url                      URL of the Redmine server
40
  -k, --key                      Redmine API key
41
  
42
General options:
43
  -h, --help                     show this help
44
  -v, --verbose                  show extra information
45
  -V, --version                  show version information and exit
46
47
Issue attributes control options:
48
  -p, --project=PROJECT          identifier of the target project
49
  -t, --tracker=TRACKER          name of the target tracker
50
      --category=CATEGORY        name of the target category
51
      --priority=PRIORITY        name of the target priority
52
  -o, --allow-override=ATTRS     allow email content to override attributes
53
                                 specified by previous options
54
                                 ATTRS is a comma separated list of attributes
55
</pre>
56
57
Exemples:
58
59
<pre>
60
  # No project specified. Emails MUST contain the 'Project' keyword:
61
  rdm-mailhandler --url http://redmine.domain.foo --key secret
62
  
63
  # Fixed project and default tracker specified, but emails can override
64
  # both tracker and priority attributes:
65
  rdm-mailhandler --url https://domain.foo/redmine --key secret \\
66
                  --project foo \\
67
                  --tracker bug \\
68
                  --allow-override tracker,priority
69
</pre>
70
71
Ici un exemple pour les aliais Postfix:
72
73
<pre>
74
foo: "|/path/to/rdm-mailhandler.rb --url http://redmine.domain --key secret --project foo"
75
</pre> 
76
77
h3. Récupérer les courriels depuis un serveur IMAP
78 3 yannick quenec'hdu
79
Une tâche rake (@redmine:email:receive_imap@) peut être utilisée pour récupérer les courriels depuis un serveur IMAP. Quand vous exécutez la commande rake depuis un cron vous pouvez ajouter l'option  @-f /path/to/redmine/appdir/Rakefile@ dans la commande, faute de quoi le fichier rake n'est pas trouvé. Voici un exemple de ligne pour un fichier cron qui récupère les courriels toutes les 30mn.
80
81
<code>
82
*/30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=redmine@somenet.foo password=xxx 
83
</code>
84
85
Cette ligne peut être ajouté sur une seule dans votre fichier cron. Vous pouvez aussi consulter d'autres exemple à la suite, qui montre les commandes rake sans l'option @-f@ et sans la partie cron 
86
87
Il est nécessaire d'avoir configurer le firewall pour laisser sortir les connexion TCP pour le port IMAP 143. 
88
89
Options IMAP disponibles:
90
<pre>
91
  host=HOST                IMAP server host (default: 127.0.0.1)
92
  port=PORT                IMAP server port (default: 143)
93
  ssl=SSL                  Use SSL? (default: false)
94
  username=USERNAME        IMAP account
95
  password=PASSWORD        IMAP password
96
  folder=FOLDER            IMAP folder to read (default: INBOX)
97
  move_on_success=MAILBOX  move emails that were successfully received
98
                           to MAILBOX instead of deleting them
99
  move_on_failure=MAILBOX  move emails that were ignored to MAILBOX
100
</pre>
101
102
Options de contrôles des attributs des demandes:
103
<pre>
104
  project=PROJECT          identifier of the target project
105
  tracker=TRACKER          name of the target tracker
106
  category=CATEGORY        name of the target category
107
  priority=PRIORITY        name of the target priority
108
  allow_override=ATTRS     allow email content to override attributes
109
                           specified by previous options
110
                           ATTRS is a comma separated list of attributes
111
</pre>
112
113
114
Exemples de commandes rake:
115
116
<pre>
117
  # No project specified. Emails MUST contain the 'Project' keyword:
118
  
119
  rake redmine:email:receive_imap RAILS_ENV="production" \\
120
    host=imap.foo.bar username=redmine@somenet.foo password=xxx
121
122
123
  # Fixed project and default tracker specified, but emails can override
124
  # both tracker and priority attributes:
125
  
126
  rake redmine:email:receive_imap RAILS_ENV="production" \\
127
    host=imap.foo.bar username=redmine@somenet.foo password=xxx ssl=1 \\
128
    project=foo \\
129
    tracker=bug \\
130
    allow_override=tracker,priority
131
132
  # Move successful emails to the 'read' mailbox and failed emails to
133
  # the 'failed' mailbox
134
  
135
  rake redmine:email:receive_imap RAILS_ENV="production" \\
136
    host=imap.foo.bar username=redmine@somenet.foo password=xxx \\
137
    move_on_success=read move_on_failure=failed
138
139
</pre>