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>  |