Signup email layout

James Peret vor 10 Jahren
Ursprung
Commit
38d8e43aec

+ 12 - 8
app/mailers/user_mailer.rb

@@ -1,13 +1,17 @@
1 1
 class UserMailer < ActionMailer::Base
2
-  default from: "contact@avalanche.network"
3 2
   
4
-  def signup_message(email)
5
-    config = Info.first
6
-    mail :to        => email,
7
-         :subject   => ("Welcome to "+ config.website_name),
8
-         :from      => config.contact_email,
9
-         :from_name => config.website_name,
10
-         :body      => "Thanks for registering to our website."
3
+  include Roadie::Rails::Automatic
4
+   
5
+  default from: "mission_control@avalanche.network"
6
+  
7
+  def signup_message(user)
8
+    I18n.with_locale(user.language) do
9
+      config = Info.first
10
+      mail :to        => user.email,
11
+           :subject   => (t 'sign_up_email.email_subject'),
12
+           :from      => 'mission_control@avalanche.network',
13
+           :from_name => 'Avalanche Network'
14
+    end
11 15
   end
12 16
 
13 17
   def contact_message(contact_message, to_address)

+ 360 - 0
app/views/user_mailer/signup_message.html.erb

@@ -0,0 +1,360 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+	<head>
4
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
+        <title>*|MC:SUBJECT|*</title>
6
+        <style type="text/css" data-roadie-ignore>
7
+			/* ---- CLIENT-SPECIFIC STYLES ---- */
8
+			
9
+			 /* Force Outlook to provide a "view in browser" message */
10
+			#outlook a{padding:0;}
11
+			 /* Force Hotmail to display emails at full width */
12
+			.ReadMsgBody{width:100%;} .ExternalClass{width:100%;}
13
+			/* Force Hotmail to display normal line spacing */
14
+			.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} 
15
+			/* Prevent WebKit and Windows mobile changing default text sizes */
16
+			body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} 
17
+			/* Remove spacing between tables in Outlook 2007 and up */
18
+			table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} 
19
+			/* Allow smoother rendering of resized image in Internet Explorer */
20
+			img{-ms-interpolation-mode:bicubic;} 
21
+
22
+			/* ---- RESET STYLES ---- */
23
+			body{margin:0; padding:0;}
24
+			img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
25
+			table{border-collapse:collapse !important;}
26
+			body, .bodyTable, .bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
27
+			
28
+			/* ---- TEMPLATE STYLES ---- */
29
+			.container, #page-header, #page-content, #page-content2, #page-footer { width: 600px; }
30
+			
31
+			
32
+			
33
+			.page-footer a {
34
+				color: #202020;
35
+				text-decoration: underline;
36
+			}
37
+			.btn:hover { background: rgba(0, 0, 0, 0.2); }
38
+			.btn.btn-success:hover { background-color: rgba(146, 188, 100, 0.25); }
39
+
40
+			/* ---- MOBILE STYLES ---- */
41
+			
42
+			@media only screen and (max-width: 480px){
43
+				
44
+				/* ---- CLIENT-SPECIFIC MOBILE STYLES ---- */
45
+				/* Prevent Webkit platforms from changing default text sizes */
46
+				body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} 
47
+				/* Prevent iOS Mail from adding padding to the body */
48
+			    	body{width:100% !important; min-width:100% !important;} 
49
+	
50
+				/* ---- MOBILE RESET STYLES ---- */
51
+				.bodyCell{padding:0px !important;}
52
+
53
+				/* ---- MOBILE STYLES ---- */
54
+		
55
+				@media only screen and (max-width: 480px){
56
+					
57
+					/* ---- MOBILE TEMPLATE STYLES ---- */
58
+					.page-header, #page-header, #page-content, #page-content2, #page-footer { width: 100%; padding-left: 25px; padding-right: 25px; margin-left: 0px; margin-right: 0px;}
59
+					.hide-mobile { display:none !important; }
60
+				}
61
+			}
62
+		</style>
63
+		
64
+		<style>
65
+		
66
+		/* ---- TEMPLATE STYLES ---- */
67
+
68
+		body, .bodyTable{
69
+			/*@editable*/ background-color:#FFFFFF;
70
+			padding: 0px; margin: 0px;
71
+		}
72
+		
73
+		h1 {
74
+			/* mission description 2: */
75
+			font-family: Avenir-Light;
76
+			font-size: 28px;
77
+			color: #000000;
78
+			line-height: 38px;
79
+			
80
+		}
81
+		
82
+		#page-header {padding-bottom: 23px;}
83
+		
84
+		.bodyTable, .bodyCell { margin: 0px; padding: 0px;}
85
+		
86
+		#body-success { background-color: #92BC64; width: 100%; margin-left: 0px; margin-right: 0px;}
87
+		#body-danger { background-color: #ED5A51; width: 100%; margin-left: 0px; margin-right: 0px;}
88
+		#body-default { background-color: #F3F3F3; width: 100%; margin-left: 0px; margin-right: 0px;}
89
+		
90
+		.cetered { text-align: center; }
91
+		
92
+		#content-main { padding-left: 10px; padding-right: 10px; }
93
+		
94
+		.page-welcome {
95
+			text-align: center;
96
+			padding-top: 30px;
97
+			padding-bottom: 60px;
98
+		}
99
+		
100
+		.page-how-to {
101
+			text-align: center;
102
+			padding-top: 30px;
103
+			padding-bottom: 10px;
104
+		}
105
+		
106
+		.page-welcome h1 {
107
+			font-family: Helvetica;
108
+			font-size: 32px;
109
+			color: #000000;
110
+			line-height: 38px;
111
+			text-align: center;
112
+			font-weight: 300;
113
+			margin-top: 45px;
114
+			margin-bottom: 32px;
115
+		}
116
+		
117
+		.page-welcome h2, .page-how-to h2 {
118
+			font-family: Helvetica;
119
+			font-size: 24px;
120
+			color: #000000;
121
+			line-height: 34px;
122
+			text-align: center;
123
+			font-weight: 300;
124
+			margin-top: 45px;
125
+			margin-bottom: 32px;
126
+		}
127
+		
128
+		.page-header h3 {
129
+			font-family: Helvetica-Light;
130
+			font-size: 28px;
131
+			color: #000000;
132
+			line-height: 38px;
133
+			font-weight: 400;
134
+			margin-top: 0px;
135
+			
136
+		}
137
+		
138
+		.page-welcome p {
139
+			font-family: Helvetica-Light;
140
+			font-size: 18px;
141
+			color: #1D1D26;
142
+			line-height: 25px;
143
+			margin-top: 0px;
144
+			text-align: center;
145
+		}
146
+		
147
+		.page-footer {
148
+			text-align: center;
149
+			margin-top: 30px;
150
+			margin-bottom: 25px;
151
+			font-family: Avenir-LightOblique;
152
+			font-size: 14px;
153
+			color: #000000;
154
+			line-height: 19px;
155
+		}
156
+		
157
+		.page-footer a {
158
+			color: #202020;
159
+			text-decoration: none;
160
+		}
161
+		
162
+		hr { border: 1px solid black; margin-bottom: 30px;}
163
+		
164
+		.btn {
165
+			display: inline-block;
166
+			padding: 4px 12px;
167
+			margin-bottom: 0;
168
+			text-align: center;
169
+			vertical-align: middle;
170
+			cursor: pointer;
171
+			background-color: transparent;
172
+			border: 2px solid #202020;
173
+			border-bottom-color: #202020;
174
+			border-radius: 4px;
175
+			text-shadow: none;
176
+			font-family: Avenir-Book;
177
+			font-style: normal;
178
+			color: #333333;
179
+			text-transform: none;
180
+			text-decoration:none;
181
+		}
182
+		
183
+		.btn.btn-success {
184
+			color: #92BC64;
185
+			border-color: #92BC64;
186
+		}
187
+		
188
+		.btn-container {
189
+			margin-bottom: 45px;
190
+			margin-top: 35px;
191
+			text-align: center;
192
+		}
193
+		
194
+		.step-box {
195
+			border: 2px solid #D4D4DE;
196
+			border-radius: 4px;
197
+			width: 300px;
198
+			height: 54px;
199
+			margin-left: auto;
200
+			margin-right: auto;
201
+			margin-bottom: 20px;
202
+		}
203
+		
204
+		.step-box .number {
205
+			font-family: Helvetica-Bold;
206
+			font-size: 40px;
207
+			color: #000000;
208
+			line-height: 53px;
209
+			width: 50px;
210
+			padding-top: 5px;
211
+
212
+		}
213
+		
214
+		.step-box .text { 
215
+			width: 250px; 
216
+			padding-top: 20px;
217
+			text-align: left;
218
+			padding-left: 5px;
219
+			font-family: Helvetica-Bold;
220
+			font-size: 14px;
221
+			color: #000000;
222
+			line-height: 19px;
223
+		}
224
+		
225
+		.copyright { 
226
+			padding-top: 15px;
227
+		}
228
+		
229
+		</style>
230
+		
231
+    </head>
232
+    <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
233
+        	<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" class="bodyTable">
234
+            	<tr>
235
+                	<td align="center" valign="top" class="bodyCell">
236
+                    	
237
+                      	<!-- BEGIN HEADER // -->
238
+                          <table border="0" cellpadding="0" cellspacing="0" width="100%" id="page-header" style="margin-bottom: 22px; margin-top: 4px">
239
+                              <tr>
240
+                                  <td valign="top" class="cetered">
241
+                                  		<img src="http://avalanche2.s3.amazonaws.com/email_files/base/avalanche2_logomark.png" style="width:174px; height: 124px;" id="logo" />
242
+                                  </td>
243
+                              </tr>
244
+                          </table>
245
+                          <!-- // END HEADER -->
246
+					
247
+                    </td>
248
+                </tr>
249
+            </table>
250
+            <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" class="bodyTable" id="body-default">
251
+              	<tr>
252
+                  	<td align="center" valign="top" class="bodyCell">
253
+                    	
254
+					  <!-- BEGIN BODY // -->
255
+	                      <table border="0" cellpadding="0" cellspacing="0" class="container" id="page-content">
256
+	                          <tr>
257
+	                              <td valign="top" class="centered" id="content-main">
258
+									<%= content_tag(:div, class: 'page-welcome centered') do %>
259
+										<%= content_tag(:h1, ( t 'sign_up_email.welcome')) %>
260
+										<hr>
261
+										<%= content_tag(:p, (t 'sign_up_email.welcome_text'), class: 'tagline') %>
262
+									
263
+									<% end %>
264
+									
265
+	                              </td>
266
+	                          </tr>
267
+	                      </table>
268
+	                      <!-- // END BODY -->
269
+					
270
+                      </td>
271
+                  </tr>
272
+              </table>
273
+              <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" class="bodyTable">
274
+              	<tr>
275
+                  	<td align="center" valign="top" class="bodyCell">
276
+                    	
277
+                        	<!-- BEGIN FOOTER // -->
278
+	                      <table border="0" cellpadding="0" cellspacing="0" class="container" id="page-content2">
279
+	                          <tr>
280
+	                              <td valign="top" class="centered">
281
+								
282
+								<%= content_tag(:div, class: 'page-how-to centered') do %>
283
+									<%= content_tag(:h2, ( t 'sign_up_email.how_it_works')) %>
284
+									
285
+									<%= content_tag(:div, class: 'step-box') do %>
286
+				   	                      <table border="0" cellpadding="0" cellspacing="0" class="" >
287
+				   	                          <tr>
288
+				   	                              <td valign="top" class="number"><b>1</b></td>
289
+				   	                              <td valign="top" class="text"><%= t 'sign_up_email.step1' %></td>
290
+			      	                          </tr>
291
+			      	                      </table>	
292
+									<% end %>
293
+									<%= content_tag(:div, class: 'step-box') do %>
294
+				   	                      <table border="0" cellpadding="0" cellspacing="0" class="" >
295
+				   	                          <tr>
296
+				   	                              <td valign="top" class="number"><b>2</b></td>
297
+				   	                              <td valign="top" class="text"><%= t 'sign_up_email.step2' %></td>
298
+			      	                          </tr>
299
+			      	                      </table>	
300
+									<% end %>
301
+									<%= content_tag(:div, class: 'step-box') do %>
302
+				   	                      <table border="0" cellpadding="0" cellspacing="0" class="" >
303
+				   	                          <tr>
304
+				   	                              <td valign="top" class="number"><b>3</b></td>
305
+				   	                              <td valign="top" class="text"><%= t 'sign_up_email.step3' %></td>
306
+			      	                          </tr>
307
+			      	                      </table>	
308
+									<% end %>
309
+									<%= content_tag(:div, class: 'step-box') do %>
310
+				   	                      <table border="0" cellpadding="0" cellspacing="0" class="" >
311
+				   	                          <tr>
312
+				   	                              <td valign="top" class="number"><b>4</b></td>
313
+				   	                              <td valign="top" class="text"><%= t 'sign_up_email.step4' %></td>
314
+			      	                          </tr>
315
+			      	                      </table>	
316
+									<% end %>
317
+									<%= content_tag(:div, class: 'step-box') do %>
318
+				   	                      <table border="0" cellpadding="0" cellspacing="0" class="" >
319
+				   	                          <tr>
320
+				   	                              <td valign="top" class="number"><b>5</b></td>
321
+				   	                              <td valign="top" class="text"><%= t 'sign_up_email.step5' %></td>
322
+			      	                          </tr>
323
+			      	                      </table>	
324
+									<% end %>
325
+									
326
+									<%= content_tag(:div, class: 'btn-container') do %>
327
+										<%= link_to((t 'sign_up_email.start'), url_for(controller: 'agents', action: 'dashboard', only_path: false), class: 'btn btn-success') %>
328
+									<% end %>
329
+								
330
+								<% end %>
331
+								
332
+								
333
+   	                              </td>
334
+   	                          </tr>
335
+   	                      </table>
336
+                         <!-- // END FOOTER -->
337
+					
338
+                        	<!-- BEGIN FOOTER // -->
339
+	                      <table border="0" cellpadding="0" cellspacing="0" class="container" id="page-footer">
340
+	                          <tr>
341
+	                              <td valign="top" class="centered">
342
+								<%= content_tag(:div, class: 'page-footer') do %>
343
+									<%= link_to((t 'agent.dashboard'), url_for(controller: 'agents', action: 'dashboard', only_path: false)) %>
344
+									 | 
345
+									<%= link_to((t 'missions.missions'),  url_for(controller: 'missions', action: 'index', only_path: false)) %>
346
+									 | 
347
+									<%= link_to((t 'agent.account'),  url_for(controller: 'devise/registrations', action: 'edit', only_path: false)) %>
348
+									<br>
349
+									<span class="copyright">&copy; Avalanche Network</span>
350
+								<% end %>
351
+   	                              </td>
352
+   	                          </tr>
353
+   	                      </table>
354
+                         <!-- // END FOOTER -->
355
+					
356
+                      </td>
357
+                  </tr>
358
+              </table>
359
+    </body>
360
+</html>

+ 21 - 0
app/views/user_mailer/signup_message.text.erb

@@ -0,0 +1,21 @@
1
+-----------------
2
+
3
+<%= t 'sign_up_email.welcome' %>
4
+
5
+<%= t 'sign_up_email.welcome_text' %>
6
+
7
+
8
+
9
+<%= t 'sign_up_email.how_it_works' %>:
10
+
11
+1. <%= t 'sign_up_email.step1' %>
12
+2. <%= t 'sign_up_email.step2' %>
13
+3. <%= t 'sign_up_email.step3' %>
14
+4. <%= t 'sign_up_email.step4' %>
15
+5. <%= t 'sign_up_email.step5' %>
16
+
17
+<%= t 'sign_up_email.start' %>
18
+<%= url_for(controller: 'agents', action: 'dashboard', only_path: false) %>
19
+
20
+-----------------
21
+Avalanche Network

+ 1 - 1
app/workers/send_signup_message.rb

@@ -7,7 +7,7 @@ class SendSignupMessage
7 7
     user = User.find_by_id(user_id)
8 8
     
9 9
     # Send Signup Email
10
-    UserMailer.signup_message(user.email).deliver
10
+    UserMailer.signup_message(user).deliver
11 11
     
12 12
   end 
13 13
   

+ 12 - 12
config/environments/development.rb

@@ -30,17 +30,17 @@ Avalanche2::Application.configure do
30 30
   config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
31 31
   config.action_mailer.raise_delivery_errors = true
32 32
   
33
-  config.action_mailer.delivery_method = :letter_opener
34
-  #config.action_mailer.delivery_method = :smtp
35
-  
36
-  # config.action_mailer.smtp_settings = {
37
-  #     :address   => "smtp.mandrillapp.com",
38
-  #     :port      => 587, # ports 587 and 2525 are also supported with STARTTLS
39
-  #     :enable_starttls_auto => true, # detects and uses STARTTLS
40
-  #     :user_name => ENV["MANDRILL_USERNAME"],
41
-  #     :password  => ENV["MANDRILL_KEY"], # SMTP password is any valid API key
42
-  #     :authentication => 'login', # Mandrill supports 'plain' or 'login'
43
-  #     :domain => ENV["DOMAIN_NAME"] # your domain to identify your server when connecting
44
-  # }
33
+  #config.action_mailer.delivery_method = :letter_opener
34
+  config.action_mailer.delivery_method = :smtp
35
+
36
+  config.action_mailer.smtp_settings = {
37
+      :address   => "smtp.mandrillapp.com",
38
+      :port      => 587, # ports 587 and 2525 are also supported with STARTTLS
39
+      :enable_starttls_auto => true, # detects and uses STARTTLS
40
+      :user_name => ENV["MANDRILL_USERNAME"],
41
+      :password  => ENV["MANDRILL_KEY"], # SMTP password is any valid API key
42
+      :authentication => 'login', # Mandrill supports 'plain' or 'login'
43
+      :domain => ENV["DOMAIN_NAME"] # your domain to identify your server when connecting
44
+  }
45 45
   
46 46
 end

+ 13 - 1
config/locales/email.en.yml

@@ -7,4 +7,16 @@ en:
7 7
     password_will_not_change: "Your password won't change until you access the link above and create a new one."
8 8
   newsletter_subscription:
9 9
     subject: Thanks for subscribing
10
-    message: Welcome to our website
10
+    message: Welcome to our website
11
+  sign_up_email:
12
+    email_subject: 'Welcome to Avalanche Network'
13
+    welcome: 'Welcome to the avalanche'
14
+    welcome_text: 'Thanks for joining! We are currently in beta testing stage, so please execuse any bugs. Please contact us if you find any problems.'
15
+    how_it_works: 'How it works'
16
+    step1: 'Choose a mission'
17
+    step2: 'Pick a role'
18
+    step3: 'Execute all steps'
19
+    step4: 'Complete the mission'
20
+    step5: 'Win rewards'
21
+    start: 'Start'
22
+    

+ 12 - 1
config/locales/email.pt-BR.yml

@@ -7,4 +7,15 @@ pt-BR:
7 7
     password_will_not_change: Sua senha não vai mudar a não ser que você crie uma nova.
8 8
   newsletter_subscription:
9 9
     subject: Bem vindo
10
-    message: Obrigado por se inscrever na nossa newsletter! 
10
+    message: Obrigado por se inscrever na nossa newsletter! 
11
+  sign_up_email:
12
+    email_subject: 'Bem vindo ao Avalanche Network'
13
+    welcome: 'Bem vindo ao Avalanche'
14
+    welcome_text: 'Obrigado por se cadastrar! Atualmente estamos na etapa de beta teste, por isso nos desculpe por qualquer possivel bug. Por favor entre em contato se tiver algum problema ou sujestão.'
15
+    how_it_works: 'Como funciona'
16
+    step1: 'Ache uma missão'
17
+    step2: 'Escolha um papel'
18
+    step3: 'Complete todos os passos'
19
+    step4: 'Complete a missão'
20
+    step5: 'Ganhe recompensas'
21
+    start: 'Começar'