Mail sending ready
This commit is contained in:
parent
d0de943df2
commit
9c52494f8e
BIN
db.sqlite-shm
BIN
db.sqlite-shm
Binary file not shown.
BIN
db.sqlite-wal
BIN
db.sqlite-wal
Binary file not shown.
|
|
@ -130,6 +130,7 @@ export default defineNuxtConfig({
|
|||
port: '',
|
||||
user: '',
|
||||
passwd: '',
|
||||
dkim: '',
|
||||
}
|
||||
},
|
||||
security: {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ export default defineEventHandler(async (e) => {
|
|||
return;
|
||||
}
|
||||
const id = getRouterParam(e, 'id');
|
||||
const payload: Record<string, any> = await readBody(e);
|
||||
|
||||
console.log(payload)
|
||||
|
||||
if(!id)
|
||||
{
|
||||
|
|
@ -16,12 +19,20 @@ export default defineEventHandler(async (e) => {
|
|||
return;
|
||||
}
|
||||
|
||||
const result = await runTask(id);
|
||||
const result = await runTask(id, {
|
||||
payload: payload
|
||||
});
|
||||
|
||||
if(!result.result)
|
||||
{
|
||||
setResponseStatus(e, 500);
|
||||
throw result.error ?? new Error('Erreur inconnue');
|
||||
|
||||
if(result.error && (result.error as Error).message)
|
||||
throw result.error;
|
||||
else if(result.error)
|
||||
throw new Error(result.error);
|
||||
else
|
||||
throw new Error('Erreur inconnue');
|
||||
}
|
||||
return
|
||||
return;
|
||||
});
|
||||
|
|
@ -1,4 +1,26 @@
|
|||
import * as nodemailer from 'nodemailer';
|
||||
import nodemailer from 'nodemailer';
|
||||
|
||||
const config = useRuntimeConfig();
|
||||
const [domain, selector, dkim] = config.mail.dkim.split(":");
|
||||
|
||||
const transport = nodemailer.createTransport({
|
||||
pool: true,
|
||||
host: config.mail.host,
|
||||
port: config.mail.port,
|
||||
secure: false,
|
||||
auth: {
|
||||
user: config.mail.user,
|
||||
pass: config.mail.passwd,
|
||||
},
|
||||
requireTLS: true,
|
||||
dkim: {
|
||||
domainName: domain,
|
||||
keySelector: selector,
|
||||
privateKey: dkim,
|
||||
},
|
||||
logger: true,
|
||||
debug: true,
|
||||
});
|
||||
|
||||
export default defineTask({
|
||||
meta: {
|
||||
|
|
@ -7,34 +29,18 @@ export default defineTask({
|
|||
},
|
||||
async run(e) {
|
||||
try {
|
||||
const config = useRuntimeConfig();
|
||||
|
||||
const transport = nodemailer.createTransport({
|
||||
pool: true,
|
||||
host: config.mail.host,
|
||||
port: config.mail.port,
|
||||
secure: true,
|
||||
auth: {
|
||||
user: config.mail.user,
|
||||
pass: config.mail.passwd,
|
||||
},
|
||||
tls: {
|
||||
rejectUnauthorized: false,
|
||||
}
|
||||
});
|
||||
|
||||
transport.verify((error) =>{
|
||||
if (error)
|
||||
console.log(error);
|
||||
});
|
||||
|
||||
await transport.sendMail({
|
||||
sender: 'no-reply@peaceultime.com',
|
||||
to: 'clem31470@gmail.com',
|
||||
const status = await transport.sendMail({
|
||||
from: 'Message automatique d[any] <no-reply@peaceultime.com>',
|
||||
to: ['peaceultime@peaceultime.com', 'clem31470@gmail.com'],
|
||||
text: 'Ceci est un texte de mail.',
|
||||
subject: 'Test',
|
||||
});
|
||||
|
||||
if(status.rejected.length > 0)
|
||||
{
|
||||
return { result: false, error: status.response, details: status.rejectedErrors };
|
||||
}
|
||||
|
||||
return { result: true };
|
||||
}
|
||||
catch(e)
|
||||
|
|
|
|||
Loading…
Reference in New Issue