Fix from header in contact form
This commit is contained in:
parent
b7a7e801ac
commit
4759fedc61
4 changed files with 25 additions and 9 deletions
|
@ -361,7 +361,8 @@ class Emailer {
|
|||
'PeerTube.'
|
||||
|
||||
const emailPayload: EmailPayload = {
|
||||
from: fromEmail,
|
||||
fromDisplayName: fromEmail,
|
||||
replyTo: fromEmail,
|
||||
to: [ CONFIG.ADMIN.EMAIL ],
|
||||
subject: '[PeerTube] Contact form submitted',
|
||||
text
|
||||
|
@ -370,16 +371,21 @@ class Emailer {
|
|||
return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
|
||||
}
|
||||
|
||||
sendMail (to: string[], subject: string, text: string, from?: string) {
|
||||
sendMail (options: EmailPayload) {
|
||||
if (!Emailer.isEnabled()) {
|
||||
throw new Error('Cannot send mail because SMTP is not configured.')
|
||||
}
|
||||
|
||||
const fromDisplayName = options.fromDisplayName
|
||||
? options.fromDisplayName
|
||||
: CONFIG.WEBSERVER.HOST
|
||||
|
||||
return this.transporter.sendMail({
|
||||
from: from || CONFIG.SMTP.FROM_ADDRESS,
|
||||
to: to.join(','),
|
||||
subject,
|
||||
text
|
||||
from: `"${fromDisplayName}" <${CONFIG.SMTP.FROM_ADDRESS}>`,
|
||||
replyTo: options.replyTo,
|
||||
to: options.to.join(','),
|
||||
subject: options.subject,
|
||||
text: options.text
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -6,14 +6,16 @@ export type EmailPayload = {
|
|||
to: string[]
|
||||
subject: string
|
||||
text: string
|
||||
from?: string
|
||||
|
||||
fromDisplayName?: string
|
||||
replyTo?: string
|
||||
}
|
||||
|
||||
async function processEmail (job: Bull.Job) {
|
||||
const payload = job.data as EmailPayload
|
||||
logger.info('Processing email in job %d.', job.id)
|
||||
|
||||
return Emailer.Instance.sendMail(payload.to, payload.subject, payload.text, payload.from)
|
||||
return Emailer.Instance.sendMail(payload)
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
@ -45,7 +45,8 @@ describe('Test contact form', function () {
|
|||
|
||||
const email = emails[0]
|
||||
|
||||
expect(email['from'][0]['address']).equal('toto@example.com')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['from'][0]['name']).equal('toto@example.com')
|
||||
expect(email['to'][0]['address']).equal('admin1@example.com')
|
||||
expect(email['subject']).contains('Contact form')
|
||||
expect(email['text']).contains('my super message')
|
||||
|
|
|
@ -89,6 +89,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[0]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains('password')
|
||||
|
@ -133,6 +134,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[1]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('admin1@example.com')
|
||||
expect(email['subject']).contains('abuse')
|
||||
|
@ -152,6 +154,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[2]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains(' blocked')
|
||||
|
@ -169,6 +172,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[3]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains(' unblocked')
|
||||
|
@ -188,6 +192,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[4]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains(' blacklisted')
|
||||
|
@ -205,6 +210,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[5]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains(' unblacklisted')
|
||||
|
@ -224,6 +230,7 @@ describe('Test emails', function () {
|
|||
|
||||
const email = emails[6]
|
||||
|
||||
expect(email['from'][0]['name']).equal('localhost:9001')
|
||||
expect(email['from'][0]['address']).equal('test-admin@localhost')
|
||||
expect(email['to'][0]['address']).equal('user_1@example.com')
|
||||
expect(email['subject']).contains('Verify')
|
||||
|
|
Loading…
Reference in a new issue