Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
larvitammail
Advanced tools
Mailing framework for the Larvit AM project
Subscribing to exchanges in the RabbitMQ-network and by extensions and templates sends emails depending on rules in the extensions.
const Intercom = require('larvitamintercom'),
const AmMail = require('larvitammail'),
const Mail = require('larvitmail');
const amMail = new AmMail({
intercom: new Intercom('amqp://user:password@192.168.0.1/'), // It is important this is a standalone intercom instance!
mail: new Mail({
transportConf: 'smtps://user%40gmail.com:pass@smtp.gmail.com',
mailDefaults: {
from: 'foo@bar.com'
}
}),
});
await amMail.registerSubscriptions();
// Up and running now!
Now create a folder in your process.cwd() called "subscriptions". In that directory you create another folder with the same name as your exchange in you subscriptions, in this case "exampleExchange". Now create a file in that directory with the same as your action in that exchange, in this case "exampleAction.js"
And it should look something like this (subscriptions/exampleExchange/exampleAction.js):
// The value "params" here is the object that was sent in the subscriptions message.
exports = module.exports = async params => {
return {
// Mandatory
to: 'bar@foo.com',
// Optional
subject: 'The file you wanted', // Defaults to empty string
from: 'from@someone.com', // Defaults to mail defaults from
templateData: {'username': 'Lennart'}, // Defaults to empty object. This is the data that will be sent to the email template.
notSend: true, // Will make this email not being sent
template: 'subscriptions/exampleExchange/exampleAction.tmpl', // Defaults to the same as this file, but tmpl instead of js as file ending
// Attachments, attached files, optional
attachments: [
{
filename: 'text.txt',
content: new Buffer('hello world!', 'utf-8')
}
]
};
};
As default to our above subscription, create a file in process.cwd(): subscriptions/exampleExchange/exampleAction.tmpl
The templating is done with lodash and it should look something like this:
Hi <%= obj.username %>!
Here is the file you requested.
Best regards
Mr. Smith
Now will larvitammail listen to the exchange "exampleExchange" and as soon a message with the action "exampleAction" is received the mailer will look for the subscription in "subscriptions/exampleExchane/exampleAction.js" and will return data to proceed. Then it will fetch the template in "subscriptions/exampleExchane/exampleAction.tmpl" and send the email.
FAQs
Mailing framework for larvit AM project
The npm package larvitammail receives a total of 208 weekly downloads. As such, larvitammail popularity was classified as not popular.
We found that larvitammail demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.