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: '',
|
port: '',
|
||||||
user: '',
|
user: '',
|
||||||
passwd: '',
|
passwd: '',
|
||||||
|
dkim: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
security: {
|
security: {
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ export default defineEventHandler(async (e) => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const id = getRouterParam(e, 'id');
|
const id = getRouterParam(e, 'id');
|
||||||
|
const payload: Record<string, any> = await readBody(e);
|
||||||
|
|
||||||
|
console.log(payload)
|
||||||
|
|
||||||
if(!id)
|
if(!id)
|
||||||
{
|
{
|
||||||
|
|
@ -16,12 +19,20 @@ export default defineEventHandler(async (e) => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const result = await runTask(id);
|
const result = await runTask(id, {
|
||||||
|
payload: payload
|
||||||
|
});
|
||||||
|
|
||||||
if(!result.result)
|
if(!result.result)
|
||||||
{
|
{
|
||||||
setResponseStatus(e, 500);
|
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({
|
export default defineTask({
|
||||||
meta: {
|
meta: {
|
||||||
|
|
@ -7,33 +29,17 @@ export default defineTask({
|
||||||
},
|
},
|
||||||
async run(e) {
|
async run(e) {
|
||||||
try {
|
try {
|
||||||
const config = useRuntimeConfig();
|
const status = await transport.sendMail({
|
||||||
|
from: 'Message automatique d[any] <no-reply@peaceultime.com>',
|
||||||
const transport = nodemailer.createTransport({
|
to: ['peaceultime@peaceultime.com', 'clem31470@gmail.com'],
|
||||||
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',
|
|
||||||
text: 'Ceci est un texte de mail.',
|
text: 'Ceci est un texte de mail.',
|
||||||
subject: 'Test',
|
subject: 'Test',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(status.rejected.length > 0)
|
||||||
|
{
|
||||||
|
return { result: false, error: status.response, details: status.rejectedErrors };
|
||||||
|
}
|
||||||
|
|
||||||
return { result: true };
|
return { result: true };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue