Skip to content

Commit fd6fa7e

Browse files
authoredMay 2, 2023
fix: allow multiple addressed in replyTo (#82)
* fix: allow multiple addressed in replyTo * chore: update nodemailer version * test: add test case for multiple replyTo
1 parent 349303f commit fd6fa7e

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed
 

‎adonis-typings/mail.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ declare module '@ioc:Adonis/Addons/Mail' {
127127
bcc?: RecipientNode[]
128128
messageId?: string
129129
subject?: string
130-
replyTo?: RecipientNode
130+
replyTo?: RecipientNode[]
131131
inReplyTo?: string
132132
references?: string[]
133133
encoding?: string

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
"got": "^11.8.2",
102102
"ical-generator": "^3.4.1",
103103
"multi-part": "^3.0.0",
104-
"nodemailer": "^6.7.3"
104+
"nodemailer": "^6.7.8"
105105
},
106106
"repository": {
107107
"type": "git",

‎src/Message/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ export class Message implements MessageContract {
108108
* Define replyTo email and name
109109
*/
110110
public replyTo(address: string, name?: string): this {
111-
this.nodeMailerMessage.replyTo = this.getAddress(address, name)
111+
this.nodeMailerMessage.replyTo = this.nodeMailerMessage.replyTo || []
112+
this.nodeMailerMessage.replyTo.push(this.getAddress(address, name))
112113
return this
113114
}
114115

‎test/message.spec.ts

+16-2
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,27 @@ test.group('Message', () => {
7575
test('define replyTo', ({ assert }) => {
7676
const message = new Message()
7777
message.replyTo('foo@bar.com')
78-
assert.deepEqual(message.toJSON().message, { replyTo: { address: 'foo@bar.com' } })
78+
assert.deepEqual(message.toJSON().message, { replyTo: [{ address: 'foo@bar.com' }] })
7979
})
8080

8181
test('define replyTo with name', ({ assert }) => {
8282
const message = new Message()
8383
message.replyTo('foo@bar.com', 'Foo')
84-
assert.deepEqual(message.toJSON().message, { replyTo: { address: 'foo@bar.com', name: 'Foo' } })
84+
assert.deepEqual(message.toJSON().message, {
85+
replyTo: [{ address: 'foo@bar.com', name: 'Foo' }],
86+
})
87+
})
88+
89+
test('define multiple replyTo with name', ({ assert }) => {
90+
const message = new Message()
91+
message.replyTo('foo@bar.com', 'Foo')
92+
message.replyTo('foo@baz.com', 'FooBaz')
93+
assert.deepEqual(message.toJSON().message, {
94+
replyTo: [
95+
{ address: 'foo@bar.com', name: 'Foo' },
96+
{ address: 'foo@baz.com', name: 'FooBaz' },
97+
],
98+
})
8599
})
86100

87101
test('define in reply to messageId', ({ assert }) => {

0 commit comments

Comments
 (0)
Please sign in to comment.