A TypeScript library for parsing Internet Message Format (IMF) emails, extracting headers, envelope details, and message bodies while providing useful utilities for email manipulation.
getHeader(name)
– Retrieve a headeraddHeader(name, value)
– Add a new headerremoveHeader(name)
– Remove a headergetBody()
– Get the email bodyReceived
headers)npm install @carlgo11/simpleimfparser
import parseEmail from '@carlgo11/simpleimfparser';
import fs from 'fs';
(async () => {
const rawData = fs.readFileSync('test-email.eml', 'utf-8');
const envelope = {
from: 'alice@example.com',
to: ['bob@example.com'],
senderIP: '192.168.1.1'
};
const email = await parseEmail(rawData, envelope);
console.log('Subject:', email.getHeader('subject'));
console.log('Body:', email.getBody());
})();
email.addHeader('X-Custom-Header', 'Hello World');
email.removeHeader('Received');
console.log(email.getHeader('from'));
console.log(email.envelope.senderIP); // 192.168.1.1
console.log(email.envelope.to); // ['bob@example.com']
email.toString();