obsidian-visualiser/server/tasks/mail.ts

49 lines
1.2 KiB
TypeScript

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,
},
});
export default defineTask({
meta: {
name: 'mail',
description: 'Send email',
},
async run(e) {
try {
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)
{
return { result: false, error: e };
}
},
})