EmailConfiguration » History » Version 41

Pierre Maigne, 2014-04-29 12:40

1 1 Cyber Sprocket
h1. Email Configuration
2 1 Cyber Sprocket
3 7 Mischa The Evil
{{>toc}}
4 7 Mischa The Evil
5 31 Miodrag Milic
6 1 Cyber Sprocket
h2. Configuration Directives
7 1 Cyber Sprocket
8 34 Anonymous
This page is a work in progress, the following configuration directives are only a partial list. Please consult "Action Mailer Configuration":http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
9 34 Anonymous
for detailed information.
10 1 Cyber Sprocket
11 1 Cyber Sprocket
h3. authentication
12 1 Cyber Sprocket
13 1 Cyber Sprocket
The type of authentication method expected by your service provider. 
14 1 Cyber Sprocket
15 1 Cyber Sprocket
Valid settings:
16 34 Anonymous
* @nil@ (or omit the key) for no authentication
17 34 Anonymous
* @:plain@
18 34 Anonymous
* @:login@
19 34 Anonymous
* @:cram_md5@
20 1 Cyber Sprocket
21 34 Anonymous
(note: if you set this to @nil@ or omit it, you must not include the @user_name@ and @password@ settings)
22 1 Cyber Sprocket
23 1 Cyber Sprocket
h3. delivery_method
24 1 Cyber Sprocket
25 6 Eric Davis
The mail transport method to be used.
26 1 Cyber Sprocket
27 1 Cyber Sprocket
Valid settings:
28 34 Anonymous
* @:smtp@
29 34 Anonymous
* :@sendmail@
30 34 Anonymous
* @:async_smtp@
31 34 Anonymous
* @:async_sendmail@
32 1 Cyber Sprocket
33 6 Eric Davis
h4. Asynchronous delivery_methods
34 6 Eric Davis
35 30 Miodrag Milic
The @:async_smtp@ and @:async_sendmail@ use asynchronous sends, which means Redmine does not wait for the email to be sent to display the next page.  See "Asynchronous Email Delivery":http://redmineblog.com/articles/asynchronous-email-delivery/ for more details. Some SMTP servers have delay period before processing takes place as anti-spam feature, during which time synchronous method will block Redmine ("10 seconds":http://answers.bitnami.org/questions/4421/updating-an-issue-in-redmine-takes-10-seconds could be default value, see also #11376 for more information) .
36 1 Cyber Sprocket
37 23 Miodrag Milic
With this delivery method, smtp configuration is specified using @async_smtp_settings@ keyword:
38 23 Miodrag Milic
39 23 Miodrag Milic
<pre>
40 23 Miodrag Milic
development:
41 23 Miodrag Milic
  email_delivery:
42 23 Miodrag Milic
    delivery_method: :async_smtp
43 23 Miodrag Milic
    async_smtp_settings:
44 23 Miodrag Milic
    ...
45 23 Miodrag Milic
</pre>
46 23 Miodrag Milic
47 11 Etienne Massip
h2. Example configuration.yml Configurations
48 1 Cyber Sprocket
49 1 Cyber Sprocket
h3. Simple Login Authentication (default settings)
50 1 Cyber Sprocket
51 1 Cyber Sprocket
<pre>
52 1 Cyber Sprocket
# Outgoing email settings
53 1 Cyber Sprocket
54 1 Cyber Sprocket
production:
55 12 Ross Wilson
  email_delivery:
56 12 Ross Wilson
    delivery_method: :smtp
57 12 Ross Wilson
    smtp_settings:
58 12 Ross Wilson
      address: smtp.example.net
59 12 Ross Wilson
      port: 25
60 12 Ross Wilson
      domain: example.net
61 12 Ross Wilson
      authentication: :login
62 12 Ross Wilson
      user_name: redmine@example.net
63 12 Ross Wilson
      password: redmine
64 1 Cyber Sprocket
  
65 1 Cyber Sprocket
development:
66 12 Ross Wilson
  email_delivery:
67 12 Ross Wilson
    delivery_method: :smtp
68 12 Ross Wilson
    smtp_settings:
69 12 Ross Wilson
      address: 127.0.0.1
70 12 Ross Wilson
      port: 25
71 12 Ross Wilson
      domain: example.net
72 12 Ross Wilson
      authentication: :login
73 12 Ross Wilson
      user_name: redmine@example.net
74 12 Ross Wilson
      password: redmine
75 1 Cyber Sprocket
</pre>
76 1 Cyber Sprocket
77 1 Cyber Sprocket
78 1 Cyber Sprocket
*If you want to use GMail/Google Apps and other TLS-requiring SMTP servers*, you'll have to add some TLS-related settings :
79 8 Joël Lamotte
80 8 Joël Lamotte
<pre>
81 8 Joël Lamotte
production:
82 12 Ross Wilson
  email_delivery:
83 12 Ross Wilson
    delivery_method: :smtp
84 12 Ross Wilson
    smtp_settings:
85 12 Ross Wilson
      enable_starttls_auto: true
86 12 Ross Wilson
      address: "smtp.gmail.com" 
87 12 Ross Wilson
      port: '587'
88 12 Ross Wilson
      domain: "smtp.gmail.com" 
89 12 Ross Wilson
      authentication: :plain
90 12 Ross Wilson
      user_name: "your_email@gmail.com" 
91 1 Cyber Sprocket
      password: "your_password" 
92 8 Joël Lamotte
93 8 Joël Lamotte
</pre>
94 8 Joël Lamotte
95 41 Pierre Maigne
Here is an example for Office 365 users (Exchange online). The sender must have an account, or if you want to send from a shared mailbox, the account below must have authorization to "Send As" the sender which is defined in Redmine email notifications settings.
96 41 Pierre Maigne
97 41 Pierre Maigne
<pre>
98 41 Pierre Maigne
production:
99 41 Pierre Maigne
  email_delivery:
100 41 Pierre Maigne
    delivery_method: :smtp
101 41 Pierre Maigne
    smtp_settings:
102 41 Pierre Maigne
      enable_starttls_auto: true
103 41 Pierre Maigne
      address: "smtp.office365.com"
104 41 Pierre Maigne
      port: '587'
105 41 Pierre Maigne
      domain: "your_domain.com"
106 41 Pierre Maigne
      authentication: :login
107 41 Pierre Maigne
      user_name: "email@your_domain.com"
108 41 Pierre Maigne
      password: "password"
109 41 Pierre Maigne
</pre>
110 41 Pierre Maigne
111 8 Joël Lamotte
However, this will only work with "recent" enough ruby and rails versions (1.8.7 patchset 2xx and 2.3.5).
112 8 Joël Lamotte
(See #5814 )
113 8 Joël Lamotte
114 1 Cyber Sprocket
h3. No Authentication
115 1 Cyber Sprocket
116 34 Anonymous
Example for an SMTP service provider with no authentication.
117 1 Cyber Sprocket
118 1 Cyber Sprocket
<pre>
119 13 Ross Wilson
production:
120 13 Ross Wilson
  email_delivery:
121 13 Ross Wilson
    delivery_method: :smtp
122 13 Ross Wilson
    smtp_settings:
123 13 Ross Wilson
      address: smtp.knology.net
124 13 Ross Wilson
      port: 25
125 13 Ross Wilson
      domain: cybersprocket.com
126 1 Cyber Sprocket
</pre>
127 1 Cyber Sprocket
128 1 Cyber Sprocket
h3. Using sendmail command
129 5 Eric Davis
130 5 Eric Davis
Example for a unix system that uses the @/usr/sbin/sendmail@ command.
131 5 Eric Davis
132 5 Eric Davis
<pre>
133 5 Eric Davis
production:
134 13 Ross Wilson
  email_delivery:
135 13 Ross Wilson
    delivery_method: :sendmail
136 5 Eric Davis
</pre>
137 1 Cyber Sprocket
138 35 Jean-Baptiste Barth
h2. Troubleshooting
139 35 Jean-Baptiste Barth
140 35 Jean-Baptiste Barth
h3. Error: "hostname was not match with the server certificate"
141 35 Jean-Baptiste Barth
142 35 Jean-Baptiste Barth
If you get this error, there's probably a problem verifying the SSL certificate of your smtp relay. As a temporary fix, you can set this option in the appropriate "email_delivery" section:
143 35 Jean-Baptiste Barth
144 35 Jean-Baptiste Barth
    enable_starttls_auto: false
145 35 Jean-Baptiste Barth
146 36 Richard Gomes
h3. Error: "Mail failure - no recipient addresses"
147 36 Richard Gomes
148 36 Richard Gomes
When this error happens, the notification is not delivered to the destination address. Instead, you will probably receive a rejection message on your sender address, where you can see the header of the message sent, containing "From:" fields but not containing any "To:" fields.
149 36 Richard Gomes
150 39 Richard Gomes
This error is common on *Debian* boxes, due to the way _exim4_ is configured by default, which is @"-i -t"@. This configuration tells _exim4_ that the destination address is inside the header of the message. Instead, we need to configure _exim4_ so that the destination address will be retrieved from the command line.
151 36 Richard Gomes
152 37 Richard Gomes
The solution consists on editing your _config/configuration.yml_ and making sure you define @arguments@ containing the string @"-i"@, as shown below:
153 36 Richard Gomes
154 36 Richard Gomes
<pre>
155 36 Richard Gomes
# default configuration options for all environments
156 36 Richard Gomes
default:
157 36 Richard Gomes
  email_delivery:    
158 36 Richard Gomes
    delivery_method: :sendmail
159 36 Richard Gomes
    sendmail_settings:
160 36 Richard Gomes
      arguments: "-i" 
161 36 Richard Gomes
</pre>
162 36 Richard Gomes
163 40 Richard Gomes
The example above employs @:sendmail@ method, which employs @sendmail_settings@. In case you are using @:smtp@ or @:async_smtp@ methods, try @smtp_settings@ instead.
164 38 Richard Gomes
165 7 Mischa The Evil
h2. More information
166 5 Eric Davis
167 5 Eric Davis
* "Action Mailer Configuration":http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration