sendgrid-actionmailer 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/gemfiles/mail_2.5.gemfile.lock +1 -1
- data/gemfiles/mail_2.6.gemfile.lock +1 -1
- data/lib/sendgrid_actionmailer.rb +14 -0
- data/lib/sendgrid_actionmailer/version.rb +1 -1
- data/spec/lib/sendgrid_actionmailer_spec.rb +39 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 439cfb2a51ff36ec5c65b6848312d86ec545d51f
|
4
|
+
data.tar.gz: da68fced610264b8bb73fef05fa20e419fae45c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f26257a6de567602003ea7d15f179a9336ddabdcec1bb7708449c6bba22a8e47c26a5f2ff692d747e02c4af3907c271a9b1da0aa0d56c1e8fef8d52be776bf96
|
7
|
+
data.tar.gz: 38106c76e663f6d43c0e00a18722560f0d1847c17c544fff7b19cdb44d34450d435a0c9b073dd152fb4c3b180e38ba310cdb0ec20b5a30ffa00ee58a7c3f4d32
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## 0.2.0 - 2016-04-25
|
4
|
+
|
5
|
+
### Added
|
6
|
+
|
7
|
+
- Support for `reply_to` and `date` options.
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
- Fix sending when multiple `X-SMTPAPI` headers are set.
|
12
|
+
|
13
|
+
## 0.1.1 - 2016-04-25
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
|
17
|
+
- Fix file attachments.
|
18
|
+
|
19
|
+
## 0.1.0 - 2016-04-23
|
20
|
+
|
21
|
+
### Added
|
22
|
+
|
23
|
+
- Support for `cc` and `bcc` options.
|
24
|
+
- Support the `X-SMTPAPI` header.
|
25
|
+
|
26
|
+
### Changed
|
27
|
+
|
28
|
+
- Compatibility with `sendgrid-ruby` v1.0.
|
29
|
+
- Compatibility with `mail` v2.6.
|
30
|
+
|
31
|
+
### Fixed
|
32
|
+
|
33
|
+
- Fix `From` addresses with display names.
|
@@ -26,10 +26,24 @@ module SendGridActionMailer
|
|
26
26
|
m.bcc = mail[:bcc].addresses if mail[:bcc]
|
27
27
|
m.from = from.address
|
28
28
|
m.from_name = from.display_name
|
29
|
+
m.reply_to = mail[:reply_to].addresses.first if mail[:reply_to]
|
30
|
+
m.date = mail[:date].to_s if mail[:date]
|
29
31
|
m.subject = mail.subject
|
30
32
|
end
|
31
33
|
|
32
34
|
smtpapi = mail['X-SMTPAPI']
|
35
|
+
|
36
|
+
# If multiple X-SMTPAPI headers are present on the message, then pick the
|
37
|
+
# first one. This may happen when X-SMTPAPI is set with defaults at the
|
38
|
+
# class-level (using defaults()), as well as inside an individual method
|
39
|
+
# (using headers[]=). In this case, we'll defer to the more specific
|
40
|
+
# header set in the individual method, which is the first header
|
41
|
+
# (somewhat counter-intuitively:
|
42
|
+
# https://github.com/rails/rails/issues/15912).
|
43
|
+
if(smtpapi.kind_of?(Array))
|
44
|
+
smtpapi = smtpapi.first
|
45
|
+
end
|
46
|
+
|
33
47
|
if smtpapi && smtpapi.value
|
34
48
|
begin
|
35
49
|
data = JSON.parse(smtpapi.value)
|
@@ -65,6 +65,33 @@ module SendGridActionMailer
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
context 'there is a reply to' do
|
69
|
+
before { mail.reply_to = 'nachos@cat.limo' }
|
70
|
+
|
71
|
+
it 'sets reply_to' do
|
72
|
+
mailer.deliver!(mail)
|
73
|
+
expect(client.sent_mail.reply_to).to eq('nachos@cat.limo')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'there is a reply to with a friendly name' do
|
78
|
+
before { mail.reply_to = 'Taco Cat <nachos@cat.limo>' }
|
79
|
+
|
80
|
+
it 'sets reply_to' do
|
81
|
+
mailer.deliver!(mail)
|
82
|
+
expect(client.sent_mail.reply_to).to eq('nachos@cat.limo')
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context 'there is a date' do
|
87
|
+
before { mail.date = Time.utc(2016) }
|
88
|
+
|
89
|
+
it 'sets date' do
|
90
|
+
mailer.deliver!(mail)
|
91
|
+
expect(client.sent_mail.date).to eq("Fri, 01 Jan 2016 00:00:00 +0000")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
68
95
|
it 'sets from' do
|
69
96
|
mailer.deliver!(mail)
|
70
97
|
expect(client.sent_mail.from).to eq('taco@cat.limo')
|
@@ -362,6 +389,18 @@ module SendGridActionMailer
|
|
362
389
|
expect(client.sent_mail.smtpapi.ip_pool).to eq("pool_name")
|
363
390
|
end
|
364
391
|
end
|
392
|
+
|
393
|
+
context 'multiple X-SMTPAPI headers are present' do
|
394
|
+
before do
|
395
|
+
mail['X-SMTPAPI'] = { category: 'food_canine' }.to_json
|
396
|
+
mail['X-SMTPAPI'] = { category: 'food_feline' }.to_json
|
397
|
+
end
|
398
|
+
|
399
|
+
it 'uses the last header' do
|
400
|
+
mailer.deliver!(mail)
|
401
|
+
expect(client.sent_mail.smtpapi.category).to eq('food_canine')
|
402
|
+
end
|
403
|
+
end
|
365
404
|
end
|
366
405
|
end
|
367
406
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid-actionmailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eddie Zaneski
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-04-
|
13
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mail
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- ".rspec"
|
124
124
|
- ".travis.yml"
|
125
125
|
- Appraisals
|
126
|
+
- CHANGELOG.md
|
126
127
|
- Gemfile
|
127
128
|
- LICENSE.txt
|
128
129
|
- README.md
|