Working on emails

This commit is contained in:
2021-06-27 18:55:04 +02:00
parent 46afb656d8
commit cb3681f3b1
6 changed files with 36 additions and 27 deletions

View File

@@ -27,8 +27,10 @@ API_VERSION=
CACHE_VIEWS=
MAILGUN_API_KEY=
MAILGUN_URL=
SMTP_HOST=
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

View File

@@ -14,7 +14,8 @@ export default class FormConfirmation extends BaseMailer {
public prepare(message: MessageContract) {
message
.from('contact@arthurdanjou.fr')
.from('no-reply@arthurdanjou.fr')
.replyTo('contact@arthurdanjou.fr')
.to(this.email)
.subject('Confirmation Form')
.html(this.html)

View File

@@ -18,7 +18,7 @@ const mailConfig: MailConfig = {
| a mailer
|
*/
mailer: 'mailgun',
mailer: 'smtp',
/*
|--------------------------------------------------------------------------
@@ -36,17 +36,21 @@ const mailConfig: MailConfig = {
mailers: {
/*
|--------------------------------------------------------------------------
| Mailgun
| Smtp
|--------------------------------------------------------------------------
|
| Uses Mailgun service for sending emails.
| Uses SMTP protocol for sending email
|
*/
mailgun: {
driver: 'mailgun',
baseUrl: 'https://api.mailgun.net/v3/',
key: Env.get('MAILGUN_API_KEY'),
domain: Env.get('MAILGUN_URL'),
smtp: {
driver: 'smtp',
host: Env.get('SMTP_HOST'),
port: Env.get('SMTP_PORT'),
auth: {
user: Env.get('SMTP_USERNAME'),
pass: Env.get('SMTP_PASSWORD'),
type: 'login',
}
},
},

View File

@@ -9,6 +9,6 @@ declare module '@ioc:Adonis/Addons/Mail' {
import { MailDrivers } from '@ioc:Adonis/Addons/Mail'
interface MailersList {
mailgun: MailDrivers['mailgun'],
smtp: MailDrivers['smtp'],
}
}

6
env.ts
View File

@@ -51,8 +51,10 @@ export default Env.rules({
API_VERSION: Env.schema.string(),
//Mails
MAILGUN_API_KEY: Env.schema.string(),
MAILGUN_URL: Env.schema.string(),
SMTP_HOST: Env.schema.string({ format: 'host' }),
SMTP_PORT: Env.schema.number(),
SMTP_USERNAME: Env.schema.string(),
SMTP_PASSWORD: Env.schema.string(),
//Socials Authentication
GOOGLE_CLIENT_ID: Env.schema.string(),

26
pnpm-lock.yaml generated
View File

@@ -280,7 +280,7 @@ packages:
fast-deep-equal: 3.1.3
igniculus: 1.5.0
knex: 0.95.6_mysql@2.18.1
knex-dynamic-connection: 2.1.0_mysql@2.18.1
knex-dynamic-connection: 2.1.1_mysql@2.18.1
luxon: 1.27.0
macroable: 5.1.3
pretty-hrtime: 1.0.3
@@ -398,7 +398,7 @@ packages:
marked-terminal: 4.1.1_marked@2.1.1
mrm-core: 6.0.0
mustache: 4.2.0
open: 8.2.0
open: 8.2.1
dev: true
/@adonisjs/validator/11.0.2_dca74b6a7cfaf1624e10c0567ec6c737:
@@ -415,7 +415,7 @@ packages:
'@types/luxon': 1.27.0
'@types/validator': 13.1.4
luxon: 1.27.0
normalize-url: 6.0.1
normalize-url: 6.1.0
tmp-cache: 1.1.0
validator: 13.6.0
dev: false
@@ -1069,7 +1069,7 @@ packages:
http-cache-semantics: 4.1.0
keyv: 4.0.3
lowercase-keys: 2.0.0
normalize-url: 6.0.1
normalize-url: 6.1.0
responselike: 2.0.0
dev: false
@@ -2637,8 +2637,8 @@ packages:
resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==}
engines: {node: '>=6'}
/knex-dynamic-connection/2.1.0_mysql@2.18.1:
resolution: {integrity: sha512-yi0aYQ0a4uTPqbzkqYwWquR9CzAVC+7ejPyx/l263031l5F2FtTAFvxxV1HDntnusn1XsiR7F+iCJ2LvYUJ2qA==}
/knex-dynamic-connection/2.1.1_mysql@2.18.1:
resolution: {integrity: sha512-/Lwg/T13eNRJVoSJ4e9SH3slVUmg37UHxDxVluAAKdJZxYVj8YsP2x50JSk310RmKsYbOZ8oB8SwVVEuRa4nYw==}
dependencies:
debug: 4.3.1
knex: 0.95.6_mysql@2.18.1
@@ -3413,8 +3413,8 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
/normalize-url/6.0.1:
resolution: {integrity: sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==}
/normalize-url/6.1.0:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
dev: false
@@ -3494,8 +3494,8 @@ packages:
dependencies:
mimic-fn: 2.1.0
/open/8.2.0:
resolution: {integrity: sha512-O8uInONB4asyY3qUcEytpgwxQG3O0fJ/hlssoUHsBboOIRVZzT6Wq+Rwj5nffbeUhOdMjpXeISpDDzHCMRDuOQ==}
/open/8.2.1:
resolution: {integrity: sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==}
engines: {node: '>=12'}
dependencies:
define-lazy-prop: 2.0.0
@@ -4649,8 +4649,8 @@ packages:
engines: {node: '>= 12'}
dev: true
/yargs-parser/20.2.7:
resolution: {integrity: sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==}
/yargs-parser/20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
dev: false
@@ -4664,7 +4664,7 @@ packages:
require-directory: 2.1.1
string-width: 4.2.2
y18n: 5.0.8
yargs-parser: 20.2.7
yargs-parser: 20.2.9
dev: false
/youch-terminal/1.1.1: