brynq-sdk-mandrill 1.1.1__tar.gz → 1.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq_sdk_mandrill
3
- Version: 1.1.1
3
+ Version: 1.1.3
4
4
  Summary: Mandrill wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -0,0 +1 @@
1
+ from brynq_sdk_mandrill.mail_client import *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: brynq-sdk-mandrill
3
- Version: 1.1.1
3
+ Version: 1.1.3
4
4
  Summary: Mandrill wrapper from BrynQ
5
5
  Home-page: UNKNOWN
6
6
  Author: BrynQ
@@ -1,7 +1,5 @@
1
1
  setup.py
2
2
  brynq_sdk/mandrill/__init__.py
3
- brynq_sdk/mandrill/mail_client.py
4
- brynq_sdk/mandrill/templates/mail_brynq.html
5
3
  brynq_sdk_mandrill.egg-info/PKG-INFO
6
4
  brynq_sdk_mandrill.egg-info/SOURCES.txt
7
5
  brynq_sdk_mandrill.egg-info/dependency_links.txt
@@ -1,2 +1,2 @@
1
- brynq-sdk-brynq>=1
1
+ brynq-sdk-brynq>=2
2
2
  mandrill-really-maintained<=2,>=1
@@ -1,18 +1,17 @@
1
- from setuptools import setup
2
-
1
+ from setuptools import setup, find_namespace_packages
3
2
 
4
3
  setup(
5
4
  name='brynq_sdk_mandrill',
6
- version='1.1.1',
5
+ version='1.1.3',
7
6
  description='Mandrill wrapper from BrynQ',
8
7
  long_description='Mandrill wrapper from BrynQ',
9
8
  author='BrynQ',
10
9
  author_email='support@brynq.com',
11
- packages=["brynq_sdk.mandrill"],
12
- package_data={'brynq_sdk.mandrill': ['templates/*']},
10
+ packages=find_namespace_packages(include=['brynq_sdk*']),
11
+ package_data={'brynq_sdk_mandrill': ['templates/*']},
13
12
  license='BrynQ License',
14
13
  install_requires=[
15
- 'brynq-sdk-brynq>=1',
14
+ 'brynq-sdk-brynq>=2',
16
15
  'mandrill-really-maintained>=1,<=2'
17
16
  ],
18
17
  zip_safe=False,
@@ -1 +0,0 @@
1
- from brynq_sdk.mandrill.mail_client import MailClient
@@ -1,112 +0,0 @@
1
- import os
2
- import mandrill
3
- import codecs
4
- import base64
5
- from brynq_sdk.brynq import BrynQ
6
- from typing import Union, List, Optional, BinaryIO
7
-
8
-
9
- class MailClient(BrynQ):
10
- def __init__(self, label: Union[str, List] = None, debug=False):
11
- # This is built in so you can use this class as a query generator for the BrynQ Agent
12
- super().__init__()
13
- self.debug = debug
14
- if label is not None:
15
- credentials = self.get_system_credential(system='mandrill', label=label)
16
- self.api_token = credentials['token']
17
- self.email_from = 'support@brynq.com' if credentials['email_from'] is None else credentials['email_from']
18
- self.name_from = 'BrynQ' if credentials['name_from'] is None else credentials['name_from']
19
- if self.debug:
20
- print('Retrieved credentials from BrynQ')
21
- elif os.getenv("MANDRILL_TOKEN") is not None:
22
- self.api_token = os.getenv("MANDRILL_TOKEN")
23
- self.email_from = 'connect@salure.nl' if os.getenv("MANDRILL_EMAIL_FROM") is None else os.getenv("MANDRILL_EMAIL_FROM")
24
- self.name_from = 'BrynQ' if os.getenv("MANDRILL_NAME_FROM") is None else os.getenv("MANDRILL_NAME_FROM")
25
- if self.debug:
26
- print('Retrieved credentials from environment variables')
27
- else:
28
- raise ValueError('No credentials found for Mandrill. Either pass a BrynQ credential label or set the environment variables MANDRILL_TOKEN, MANDRILL_EMAIL_FROM and MANDRILL_NAME_FROM')
29
-
30
- def send_mail(self, email_to: list, subject: str, language='NL', content: Optional[str] = None, attachment: Optional[BinaryIO | List[BinaryIO]] = None, cc: Optional[List | str] = None) -> List[dict]:
31
- """
32
- Send a mail with the BrynQ layout and using mandrill
33
- :param email_to: a list with name and mailadress to who the mail must be send
34
- :param subject: The subject of the email
35
- :param language: Determines the salutation and greeting text. For example Beste or Dear
36
- :param content: The message of the email
37
- :param attachment: The attachment/attachments of an email loaded as binary file (NOT the location of the file)
38
- :param cc: A list with name and mail address to be CC'd
39
- :return: If the sending of the mail is successful or not
40
- """
41
-
42
- mandrill_client = mandrill.Mandrill(self.api_token)
43
- # Load the html template for e-mails
44
- html_file_location = '{}/templates/mail_brynq.html'.format(os.path.dirname(os.path.abspath(__file__)))
45
- html_file = codecs.open(html_file_location, 'r')
46
- html = html_file.read()
47
- if language == 'NL':
48
- salutation = 'Beste '
49
- greeting_text = 'Met vriendelijke groet'
50
- else:
51
- salutation = 'Dear '
52
- greeting_text = 'Kind regards'
53
-
54
- # Process attachments
55
- encoded_attachments = []
56
- if attachment is not None:
57
-
58
- # add single attachment to a list
59
- if not isinstance(attachment, list):
60
- attachment = [attachment]
61
-
62
- for file in attachment:
63
- opened_attachment = file.read()
64
- encoded_attachments.append({
65
- 'content': base64.b64encode(opened_attachment).decode('utf-8'),
66
- 'name': file.name.split('/')[-1]
67
- })
68
-
69
- # Prepare CC list
70
- cc_list = []
71
- if cc is not None:
72
- for cc_object in cc:
73
- cc_list.append({
74
- 'email': cc_object['mail'],
75
- 'name': cc_object['name'],
76
- 'type': 'cc'
77
- })
78
-
79
- # Pick the configurations from the config file and create the mail
80
- response = []
81
- for email_object in email_to:
82
- if self.debug:
83
- print(f"Sending mail to: {email_object['mail']}")
84
- new_html = html.replace('{', '{{'). \
85
- replace('}', '}}'). \
86
- replace('{{subject}}', '{subject}'). \
87
- replace('{{title}}', '{title}'). \
88
- replace('{{salutation}}', '{salutation}'). \
89
- replace('{{name}}', '{name}'). \
90
- replace('{{content}}', '{content}'). \
91
- replace('{{greeting}}', '{greeting}').format(subject=subject, title=subject, salutation=salutation, name=email_object['name'], content=content, greeting=greeting_text)
92
- mail = {
93
- 'from_email': self.email_from,
94
- 'from_name': self.name_from,
95
- 'subject': subject,
96
- 'html': new_html,
97
- 'to': [{'email': email_object['mail'],
98
- 'name': email_object['name'],
99
- 'type': 'to'}] + cc_list # Add CC recipients
100
- }
101
-
102
- if encoded_attachments:
103
- mail['attachments'] = encoded_attachments
104
-
105
- # Send the mail and return the result per mail address
106
- result = {
107
- 'Send to': email_object,
108
- 'result': mandrill_client.messages.send(mail, False, 'Main Pool')
109
- }
110
- response.append(result)
111
-
112
- return response
@@ -1,905 +0,0 @@
1
- <!doctype html>
2
- <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
3
-
4
- <head>
5
- <!-- NAME: FLYER -->
6
- <!--[if gte mso 15]>
7
- <xml>
8
- <o:OfficeDocumentSettings>
9
- <o:AllowPNG/>
10
- <o:PixelsPerInch>96</o:PixelsPerInch>
11
- </o:OfficeDocumentSettings>
12
- </xml>
13
- <![endif]-->
14
- <meta charset="UTF-8">
15
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
16
- <meta name="viewport" content="width=device-width, initial-scale=1">
17
- <title>{subject}</title>
18
- <style type="text/css">
19
- p {
20
- margin: 10px 0;
21
- padding: 0;
22
- }
23
- table {
24
- border-collapse: collapse;
25
- }
26
- h1,
27
- h2,
28
- h3,
29
- h4,
30
- h5,
31
- h6 {
32
- display: block;
33
- margin: 0;
34
- padding: 0;
35
- }
36
- img,
37
- a img {
38
- border: 0;
39
- height: auto;
40
- outline: none;
41
- text-decoration: none;
42
- }
43
- body,
44
- #bodyTable,
45
- #bodyCell {
46
- height: 100%;
47
- margin: 0;
48
- padding: 0;
49
- width: 100%;
50
- }
51
- .mcnPreviewText {
52
- display: none !important;
53
- }
54
- #outlook a {
55
- padding: 0;
56
- }
57
- img {
58
- -ms-interpolation-mode: bicubic;
59
- }
60
- table {
61
- mso-table-lspace: 0pt;
62
- mso-table-rspace: 0pt;
63
- }
64
- .ReadMsgBody {
65
- width: 100%;
66
- }
67
- .ExternalClass {
68
- width: 100%;
69
- }
70
- p,
71
- a,
72
- li,
73
- td,
74
- blockquote {
75
- mso-line-height-rule: exactly;
76
- }
77
- a[href^=tel],
78
- a[href^=sms] {
79
- color: inherit;
80
- cursor: default;
81
- text-decoration: none;
82
- }
83
- p,
84
- a,
85
- li,
86
- td,
87
- body,
88
- table,
89
- blockquote {
90
- -ms-text-size-adjust: 100%;
91
- -webkit-text-size-adjust: 100%;
92
- }
93
- .ExternalClass,
94
- .ExternalClass p,
95
- .ExternalClass td,
96
- .ExternalClass div,
97
- .ExternalClass span,
98
- .ExternalClass font {
99
- line-height: 100%;
100
- }
101
- a[x-apple-data-detectors] {
102
- color: inherit !important;
103
- text-decoration: none !important;
104
- font-size: inherit !important;
105
- font-family: inherit !important;
106
- font-weight: inherit !important;
107
- line-height: inherit !important;
108
- }
109
- a.mcnButton {
110
- display: block;
111
- }
112
- .mcnImage,
113
- .mcnRetinaImage {
114
- vertical-align: bottom;
115
- }
116
- .mcnTextContent {
117
- word-break: break-word;
118
- }
119
- .mcnTextContent img {
120
- height: auto !important;
121
- }
122
- .mcnDividerBlock {
123
- table-layout: fixed !important;
124
- }
125
- /*
126
- @tab Page
127
- @section background style
128
- @tip Set the background color and top border for your email. You may want to choose colors that match your company's branding.
129
- */
130
-
131
- body,
132
- #bodyTable {
133
- /*@editable*/
134
- background-color: #363636;
135
- }
136
- /*
137
- @tab Page
138
- @section background style
139
- @tip Set the background color and top border for your email. You may want to choose colors that match your company's branding.
140
- */
141
-
142
- #bodyCell {
143
- /*@editable*/
144
- border-top: 0;
145
- }
146
- /*
147
- @tab Page
148
- @section heading 1
149
- @tip Set the styling for all first-level headings in your emails. These should be the largest of your headings.
150
- @style heading 1
151
- */
152
-
153
- h1 {
154
- /*@editable*/
155
- color: #543680 !important;
156
- /*@editable*/
157
- font-family: Helvetica;
158
- /*@editable*/
159
- font-size: 40px;
160
- /*@editable*/
161
- font-style: normal;
162
- /*@editable*/
163
- font-weight: bold;
164
- /*@editable*/
165
- line-height: 100%;
166
- /*@editable*/
167
- letter-spacing: -1px;
168
- /*@editable*/
169
- text-align: center;
170
- }
171
- /*
172
- @tab Page
173
- @section heading 2
174
- @tip Set the styling for all second-level headings in your emails.
175
- @style heading 2
176
- */
177
-
178
- h2 {
179
- /*@editable*/
180
- color: #404040 !important;
181
- /*@editable*/
182
- font-family: Helvetica;
183
- /*@editable*/
184
- font-size: 26px;
185
- /*@editable*/
186
- font-style: normal;
187
- /*@editable*/
188
- font-weight: bold;
189
- /*@editable*/
190
- line-height: 125%;
191
- /*@editable*/
192
- letter-spacing: -.75px;
193
- /*@editable*/
194
- text-align: left;
195
- }
196
- /*
197
- @tab Page
198
- @section heading 3
199
- @tip Set the styling for all third-level headings in your emails.
200
- @style heading 3
201
- */
202
-
203
- h3 {
204
- /*@editable*/
205
- color: #606060 !important;
206
- /*@editable*/
207
- font-family: Helvetica;
208
- /*@editable*/
209
- font-size: 18px;
210
- /*@editable*/
211
- font-style: normal;
212
- /*@editable*/
213
- font-weight: bold;
214
- /*@editable*/
215
- line-height: 125%;
216
- /*@editable*/
217
- letter-spacing: -.5px;
218
- /*@editable*/
219
- text-align: left;
220
- }
221
- /*
222
- @tab Page
223
- @section heading 4
224
- @tip Set the styling for all fourth-level headings in your emails. These should be the smallest of your headings.
225
- @style heading 4
226
- */
227
-
228
- h4 {
229
- /*@editable*/
230
- color: #808080 !important;
231
- /*@editable*/
232
- font-family: Helvetica;
233
- /*@editable*/
234
- font-size: 16px;
235
- /*@editable*/
236
- font-style: normal;
237
- /*@editable*/
238
- font-weight: bold;
239
- /*@editable*/
240
- line-height: 125%;
241
- /*@editable*/
242
- letter-spacing: normal;
243
- /*@editable*/
244
- text-align: left;
245
- }
246
- /*
247
- @tab Preheader
248
- @section preheader style
249
- @tip Set the background color and borders for your email's preheader area.
250
- */
251
-
252
- #templatePreheader {
253
- /*@editable*/
254
- background-color: #FFFFFF;
255
- /*@editable*/
256
- border-top: 0;
257
- /*@editable*/
258
- border-bottom: 1px solid #D5D5D5;
259
- }
260
- /*
261
- @tab Preheader
262
- @section preheader text
263
- @tip Set the styling for your email's preheader text. Choose a size and color that is easy to read.
264
- */
265
-
266
- .preheaderContainer .mcnTextContent,
267
- .preheaderContainer .mcnTextContent p {
268
- /*@editable*/
269
- color: #606060;
270
- /*@editable*/
271
- font-family: Helvetica;
272
- /*@editable*/
273
- font-size: 11px;
274
- /*@editable*/
275
- line-height: 125%;
276
- /*@editable*/
277
- text-align: left;
278
- }
279
- /*
280
- @tab Preheader
281
- @section preheader link
282
- @tip Set the styling for your email's header links. Choose a color that helps them stand out from your text.
283
- */
284
-
285
- .preheaderContainer .mcnTextContent a {
286
- /*@editable*/
287
- color: #26ABE2;
288
- /*@editable*/
289
- font-weight: normal;
290
- /*@editable*/
291
- text-decoration: underline;
292
- }
293
- /*
294
- @tab Header
295
- @section header style
296
- @tip Set the background color and borders for your email's header area.
297
- */
298
-
299
- #templateHeader {
300
- /*@editable*/
301
- background-color: #EEEEEE;
302
- /*@editable*/
303
- border-top: 0;
304
- /*@editable*/
305
- border-bottom: 0;
306
- }
307
- /*
308
- @tab Header
309
- @section header text
310
- @tip Set the styling for your email's header text. Choose a size and color that is easy to read.
311
- */
312
-
313
- .headerContainer .mcnTextContent,
314
- .headerContainer .mcnTextContent p {
315
- /*@editable*/
316
- color: #606060;
317
- /*@editable*/
318
- font-family: Helvetica;
319
- /*@editable*/
320
- font-size: 15px;
321
- /*@editable*/
322
- line-height: 150%;
323
- /*@editable*/
324
- text-align: left;
325
- }
326
- /*
327
- @tab Header
328
- @section header link
329
- @tip Set the styling for your email's header links. Choose a color that helps them stand out from your text.
330
- */
331
-
332
- .headerContainer .mcnTextContent a {
333
- /*@editable*/
334
- color: #26ABE2;
335
- /*@editable*/
336
- font-weight: normal;
337
- /*@editable*/
338
- text-decoration: underline;
339
- }
340
- /*
341
- @tab Body
342
- @section body style
343
- @tip Set the background color and borders for your email's body area.
344
- */
345
-
346
- #templateBody {
347
- /*@editable*/
348
- background-color: #EEEEEE;
349
- /*@editable*/
350
- border-top: 0;
351
- /*@editable*/
352
- border-bottom: 0;
353
- }
354
- /*
355
- @tab Body
356
- @section body container
357
- @tip Set the background color and border for your email's body text container.
358
- */
359
-
360
- #bodyBackground {
361
- /*@editable*/
362
- background-color: #FFFFFF;
363
- /*@editable*/
364
- border: 1px solid #D5D5D5;
365
- }
366
- /*
367
- @tab Body
368
- @section body text
369
- @tip Set the styling for your email's body text. Choose a size and color that is easy to read.
370
- */
371
-
372
- .bodyContainer .mcnTextContent,
373
- .bodyContainer .mcnTextContent p {
374
- /*@editable*/
375
- color: #606060;
376
- /*@editable*/
377
- font-family: Helvetica;
378
- /*@editable*/
379
- font-size: 15px;
380
- /*@editable*/
381
- line-height: 150%;
382
- /*@editable*/
383
- text-align: left;
384
- }
385
- /*
386
- @tab Body
387
- @section body link
388
- @tip Set the styling for your email's body links. Choose a color that helps them stand out from your text.
389
- */
390
-
391
- .bodyContainer .mcnTextContent a {
392
- /*@editable*/
393
- color: #26ABE2;
394
- /*@editable*/
395
- font-weight: normal;
396
- /*@editable*/
397
- text-decoration: underline;
398
- }
399
- /*
400
- @tab Footer
401
- @section footer style
402
- @tip Set the background color and borders for your email's footer area.
403
- */
404
-
405
- #templateFooter {
406
- /*@editable*/
407
- background-color: #363636;
408
- /*@editable*/
409
- border-top: 1px solid #000000;
410
- /*@editable*/
411
- border-bottom: 0;
412
- }
413
- /*
414
- @tab Footer
415
- @section footer text
416
- @tip Set the styling for your email's footer text. Choose a size and color that is easy to read.
417
- */
418
-
419
- .footerContainer .mcnTextContent,
420
- .footerContainer .mcnTextContent p {
421
- /*@editable*/
422
- color: #CCCCCC;
423
- /*@editable*/
424
- font-family: Helvetica;
425
- /*@editable*/
426
- font-size: 11px;
427
- /*@editable*/
428
- line-height: 125%;
429
- /*@editable*/
430
- text-align: center;
431
- }
432
- /*
433
- @tab Footer
434
- @section footer link
435
- @tip Set the styling for your email's footer links. Choose a color that helps them stand out from your text.
436
- */
437
-
438
- .footerContainer .mcnTextContent a {
439
- /*@editable*/
440
- color: #CCCCCC;
441
- /*@editable*/
442
- font-weight: normal;
443
- /*@editable*/
444
- text-decoration: underline;
445
- }
446
- @media only screen and (max-width: 480px) {
447
- body,
448
- table,
449
- td,
450
- p,
451
- a,
452
- li,
453
- blockquote {
454
- -webkit-text-size-adjust: none !important;
455
- }
456
- }
457
- @media only screen and (max-width: 480px) {
458
- body {
459
- width: 100% !important;
460
- min-width: 100% !important;
461
- }
462
- }
463
- @media only screen and (max-width: 480px) {
464
- .templateContainer {
465
- max-width: 600px !important;
466
- width: 100% !important;
467
- }
468
- }
469
- @media only screen and (max-width: 480px) {
470
- .mcnRetinaImage {
471
- max-width: 100% !important;
472
- }
473
- }
474
- @media only screen and (max-width: 480px) {
475
- .mcnImage {
476
- height: auto !important;
477
- width: 100% !important;
478
- }
479
- }
480
- @media only screen and (max-width: 480px) {
481
- .mcnCartContainer,
482
- .mcnCaptionTopContent,
483
- .mcnRecContentContainer,
484
- .mcnCaptionBottomContent,
485
- .mcnTextContentContainer,
486
- .mcnBoxedTextContentContainer,
487
- .mcnImageGroupContentContainer,
488
- .mcnCaptionLeftTextContentContainer,
489
- .mcnCaptionRightTextContentContainer,
490
- .mcnCaptionLeftImageContentContainer,
491
- .mcnCaptionRightImageContentContainer,
492
- .mcnImageCardLeftTextContentContainer,
493
- .mcnImageCardRightTextContentContainer,
494
- .mcnImageCardLeftImageContentContainer,
495
- .mcnImageCardRightImageContentContainer {
496
- max-width: 100% !important;
497
- width: 100% !important;
498
- }
499
- }
500
- @media only screen and (max-width: 480px) {
501
- .mcnBoxedTextContentContainer {
502
- min-width: 100% !important;
503
- }
504
- }
505
- @media only screen and (max-width: 480px) {
506
- .mcnImageGroupContent {
507
- padding: 9px !important;
508
- }
509
- }
510
- @media only screen and (max-width: 480px) {
511
- .mcnCaptionLeftContentOuter .mcnTextContent,
512
- .mcnCaptionRightContentOuter .mcnTextContent {
513
- padding-top: 9px !important;
514
- }
515
- }
516
- @media only screen and (max-width: 480px) {
517
- .mcnImageCardTopImageContent,
518
- .mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent,
519
- .mcnCaptionBlockInner .mcnCaptionTopContent:last-child .mcnTextContent {
520
- padding-top: 18px !important;
521
- }
522
- }
523
- @media only screen and (max-width: 480px) {
524
- .mcnImageCardBottomImageContent {
525
- padding-bottom: 9px !important;
526
- }
527
- }
528
- @media only screen and (max-width: 480px) {
529
- .mcnImageGroupBlockInner {
530
- padding-top: 0 !important;
531
- padding-bottom: 0 !important;
532
- }
533
- }
534
- @media only screen and (max-width: 480px) {
535
- .mcnImageGroupBlockOuter {
536
- padding-top: 9px !important;
537
- padding-bottom: 9px !important;
538
- }
539
- }
540
- @media only screen and (max-width: 480px) {
541
- .mcnTextContent,
542
- .mcnBoxedTextContentColumn {
543
- padding-right: 18px !important;
544
- padding-left: 18px !important;
545
- }
546
- }
547
- @media only screen and (max-width: 480px) {
548
- .mcnImageCardLeftImageContent,
549
- .mcnImageCardRightImageContent {
550
- padding-right: 18px !important;
551
- padding-bottom: 0 !important;
552
- padding-left: 18px !important;
553
- }
554
- }
555
- @media only screen and (max-width: 480px) {
556
- .mcpreview-image-uploader {
557
- display: none !important;
558
- width: 100% !important;
559
- }
560
- }
561
- @media only screen and (max-width: 480px) {
562
- /*
563
- @tab Mobile Styles
564
- @section heading 1
565
- @tip Make the first-level headings larger in size for better readability on small screens.
566
- */
567
- h1 {
568
- /*@editable*/
569
- font-size: 24px !important;
570
- /*@editable*/
571
- line-height: 125% !important;
572
- }
573
- }
574
- @media only screen and (max-width: 480px) {
575
- /*
576
- @tab Mobile Styles
577
- @section heading 2
578
- @tip Make the second-level headings larger in size for better readability on small screens.
579
- */
580
- h2 {
581
- /*@editable*/
582
- font-size: 20px !important;
583
- /*@editable*/
584
- line-height: 125% !important;
585
- }
586
- }
587
- @media only screen and (max-width: 480px) {
588
- /*
589
- @tab Mobile Styles
590
- @section heading 3
591
- @tip Make the third-level headings larger in size for better readability on small screens.
592
- */
593
- h3 {
594
- /*@editable*/
595
- font-size: 18px !important;
596
- /*@editable*/
597
- line-height: 125% !important;
598
- }
599
- }
600
- @media only screen and (max-width: 480px) {
601
- /*
602
- @tab Mobile Styles
603
- @section heading 4
604
- @tip Make the fourth-level headings larger in size for better readability on small screens.
605
- */
606
- h4 {
607
- /*@editable*/
608
- font-size: 16px !important;
609
- /*@editable*/
610
- line-height: 125% !important;
611
- }
612
- }
613
- @media only screen and (max-width: 480px) {
614
- /*
615
- @tab Mobile Styles
616
- @section Boxed Text
617
- @tip Make the boxed text larger in size for better readability on small screens. We recommend a font size of at least 16px.
618
- */
619
- .mcnBoxedTextContentContainer .mcnTextContent,
620
- .mcnBoxedTextContentContainer .mcnTextContent p {
621
- /*@editable*/
622
- font-size: 18px !important;
623
- /*@editable*/
624
- line-height: 125% !important;
625
- }
626
- }
627
- @media only screen and (max-width: 480px) {
628
- /*
629
- @tab Mobile Styles
630
- @section Preheader Visibility
631
- @tip Set the visibility of the email's preheader on small screens. You can hide it to save space.
632
- */
633
- #templatePreheader {
634
- /*@editable*/
635
- display: block !important;
636
- }
637
- }
638
- @media only screen and (max-width: 480px) {
639
- /*
640
- @tab Mobile Styles
641
- @section Preheader Text
642
- @tip Make the preheader text larger in size for better readability on small screens.
643
- */
644
- .preheaderContainer .mcnTextContent,
645
- .preheaderContainer .mcnTextContent p {
646
- /*@editable*/
647
- font-size: 14px !important;
648
- /*@editable*/
649
- line-height: 115% !important;
650
- }
651
- }
652
- @media only screen and (max-width: 480px) {
653
- /*
654
- @tab Mobile Styles
655
- @section Header Text
656
- @tip Make the header text larger in size for better readability on small screens.
657
- */
658
- .headerContainer .mcnTextContent,
659
- .headerContainer .mcnTextContent p {
660
- /*@editable*/
661
- font-size: 18px !important;
662
- /*@editable*/
663
- line-height: 125% !important;
664
- }
665
- }
666
- @media only screen and (max-width: 480px) {
667
- /*
668
- @tab Mobile Styles
669
- @section Body Text
670
- @tip Make the body text larger in size for better readability on small screens. We recommend a font size of at least 16px.
671
- */
672
- .bodyContainer .mcnTextContent,
673
- .bodyContainer .mcnTextContent p {
674
- /*@editable*/
675
- font-size: 18px !important;
676
- /*@editable*/
677
- line-height: 125% !important;
678
- }
679
- }
680
- @media only screen and (max-width: 480px) {
681
- /*
682
- @tab Mobile Styles
683
- @section footer text
684
- @tip Make the body content text larger in size for better readability on small screens.
685
- */
686
- .footerContainer .mcnTextContent,
687
- .footerContainer .mcnTextContent p {
688
- /*@editable*/
689
- font-size: 14px !important;
690
- /*@editable*/
691
- line-height: 115% !important;
692
- }
693
- }
694
- </style>
695
- </head>
696
-
697
- <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
698
- <!--*|IF:MC_PREVIEW_TEXT|*-->
699
- <!--[if !gte mso 9]><!----><span class="mcnPreviewText" style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;">*|MC_PREVIEW_TEXT|*</span>
700
- <!--<![endif]-->
701
- <!--*|END:IF|*-->
702
- <center>
703
- <table align="center" border="0" cellpadding="0" cellspacing="0" id="bodyTable" width="100%">
704
- <tbody>
705
- <tr>
706
- <td align="center" id="bodyCell" valign="top">
707
- <!-- BEGIN TEMPLATE // -->
708
- <table border="0" cellpadding="0" cellspacing="0" width="100%">
709
- <tbody>
710
- <tr>
711
- <td align="center" valign="top">
712
- <table border="0" cellpadding="0" cellspacing="0" id="templatePreheader" width="100%">
713
- <tbody>
714
- <tr>
715
- <td align="center" valign="top">
716
- <table border="0" cellpadding="0" cellspacing="0" class="templateContainer" width="600">
717
- <tbody>
718
- <tr>
719
- <td class="preheaderContainer" style="padding-top:10px; padding-bottom:10px;" valign="top"></td>
720
- </tr>
721
- </tbody>
722
- </table>
723
- </td>
724
- </tr>
725
- </tbody>
726
- </table>
727
- </td>
728
- </tr>
729
- <tr>
730
- <td align="center" valign="top">
731
- <table border="0" cellpadding="0" cellspacing="0" id="templateHeader" width="100%">
732
- <tbody>
733
- <tr>
734
- <td align="center" valign="top">
735
- <table border="0" cellpadding="0" cellspacing="0" class="templateContainer" width="600">
736
- <tbody>
737
- <tr>
738
- <td class="headerContainer" style="padding-top:15px; padding-bottom:10px;" valign="top">
739
- <table border="0" cellpadding="0" cellspacing="0" class="mcnImageBlock" style="min-width:100%;" width="100%">
740
- <tbody class="mcnImageBlockOuter">
741
- <tr>
742
- <td class="mcnImageBlockInner" style="padding:9px" valign="top">
743
- <table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnImageContentContainer" style="min-width:100%;" width="100%">
744
- <tbody>
745
- <tr>
746
- <td class="mcnImageContent" style="padding-right: 9px; padding-left: 9px; padding-top: 0; padding-bottom: 0; text-align:center;" valign="top">
747
- <img align="center" alt="" class="mcnImage" height="125" src="https://brynq.com/wp-content/uploads/2024/01/BrynQ-logo-img.svg" style="max-width: 225px; padding-bottom: 0px; vertical-align: bottom; width: 225px; display: inline !important; height: 125px;" width="225">
748
- </td>
749
- </tr>
750
- </tbody>
751
- </table>
752
- </td>
753
- </tr>
754
- </tbody>
755
- </table>
756
- </td>
757
- </tr>
758
- </tbody>
759
- </table>
760
- </td>
761
- </tr>
762
- </tbody>
763
- </table>
764
- </td>
765
- </tr>
766
- <tr>
767
- <td align="center" valign="top">
768
- <!-- BEGIN BODY // -->
769
- <table border="0" cellpadding="0" cellspacing="0" id="templateBody" width="100%">
770
- <tbody>
771
- <tr>
772
- <td align="center" style="padding-top:10px; padding-right:10px; padding-bottom:5px; padding-left:10px;" valign="top">
773
- <table border="0" cellpadding="0" cellspacing="0" class="templateContainer" width="600">
774
- <tbody>
775
- <tr>
776
- <td align="center" valign="top">
777
- <table border="0" cellpadding="0" cellspacing="0" id="bodyBackground" width="100%">
778
- <tbody>
779
- <tr>
780
- <td class="bodyContainer" style="padding-top:10px; padding-bottom:10px;" valign="top">
781
- <table border="0" cellpadding="0" cellspacing="0" class="mcnTextBlock" style="min-width:100%;" width="100%">
782
- <tbody class="mcnTextBlockOuter">
783
- <tr>
784
- <td class="mcnTextBlockInner" style="padding-top:9px;" valign="top">
785
- <!--[if mso]>
786
- <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
787
- <tr>
788
- <![endif]-->
789
- <!--[if mso]>
790
- <td valign="top" width="599" style="width:599px;">
791
- <![endif]-->
792
- <table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnTextContentContainer" style="max-width:100%; min-width:100%;" width="100%">
793
- <tbody>
794
- <tr>
795
- <td class="mcnTextContent" style="padding: 0px 18px 9px;color: #1B3B5C;" valign="top">
796
- <h1><span style="color:#1b3b5c;">{title}</span></h1>
797
- </td>
798
- </tr>
799
- </tbody>
800
- </table>
801
- <!--[if mso]>
802
- </td>
803
- <![endif]-->
804
- <!--[if mso]>
805
- </tr>
806
- </table>
807
- <![endif]-->
808
- </td>
809
- </tr>
810
- </tbody>
811
- </table>
812
- <table border="0" cellpadding="0" cellspacing="0" class="mcnDividerBlock" style="min-width:100%;" width="100%">
813
- <tbody class="mcnDividerBlockOuter">
814
- <tr>
815
- <td class="mcnDividerBlockInner" style="min-width:100%; padding:18px;">
816
- <table border="0" cellpadding="0" cellspacing="0" class="mcnDividerContent" style="min-width: 100%;border-top: 2px solid #F3910F;" width="100%">
817
- <tbody>
818
- <tr>
819
- <td class="">&nbsp;</td>
820
- </tr>
821
- </tbody>
822
- </table>
823
- <!--
824
- <td class="mcnDividerBlockInner" style="padding: 18px;">
825
- <hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
826
- --></td>
827
- </tr>
828
- </tbody>
829
- </table>
830
- <table border="0" cellpadding="0" cellspacing="0" class="mcnTextBlock" style="min-width:100%;" width="100%">
831
- <tbody class="mcnTextBlockOuter">
832
- <tr>
833
- <td class="mcnTextBlockInner" style="padding-top:9px;" valign="top">
834
- <!--[if mso]>
835
- <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
836
- <tr>
837
- <![endif]-->
838
- <!--[if mso]>
839
- <td valign="top" width="599" style="width:599px;">
840
- <![endif]-->
841
- <table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnTextContentContainer" style="max-width:100%; min-width:100%;" width="100%">
842
- <tbody>
843
- <tr>
844
- <td class="mcnTextContent" style="padding: 0px 18px 9px; color: rgb(27, 60, 92);" valign="top">{salutation} {name},
845
- <br>
846
- <br>{content}
847
- <br>
848
- <br>{greeting},
849
- <br>
850
- <br>BrynQ&nbsp;</td>
851
- </tr>
852
- </tbody>
853
- </table>
854
- <!--[if mso]>
855
- </td>
856
- <![endif]-->
857
- <!--[if mso]>
858
- </tr>
859
- </table>
860
- <![endif]-->
861
- </td>
862
- </tr>
863
- </tbody>
864
- </table>
865
- <table border="0" cellpadding="0" cellspacing="0" class="mcnImageBlock" style="min-width:100%;" width="100%">
866
- <tbody class="mcnImageBlockOuter">
867
- <tr>
868
- <td class="mcnImageBlockInner" style="padding:9px" valign="top">
869
- <table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnImageContentContainer" style="min-width:100%;" width="100%">
870
- <tbody>
871
- <tr>
872
- <td class="mcnImageContent" style="padding-right: 9px; padding-left: 9px; padding-top: 0; padding-bottom: 0; text-align:center;" valign="top">
873
- <img align="center" alt="" class="mcnImage" height="99" src="https://brynq.com/wp-content/uploads/2024/01/BrynQ-logo-img.svg" style="max-width: 600px; padding-bottom: 0px; vertical-align: bottom; width: 565px; height: 99px; display: inline !important;" width="565">
874
- </td>
875
- </tr>
876
- </tbody>
877
- </table>
878
- </td>
879
- </tr>
880
- </tbody>
881
- </table>
882
- </td>
883
- </tr>
884
- </tbody>
885
- </table>
886
- </td>
887
- </tr>
888
- </tbody>
889
- </table>
890
- </td>
891
- </tr>
892
- </tbody>
893
- </table>
894
- </td>
895
- </tr>
896
- </tbody>
897
- </table>
898
- </td>
899
- </tr>
900
- </tbody>
901
- </table>
902
- </center>
903
- </body>
904
-
905
- </html>