async getContent(options) {
        const defaults = {
            siteUrl: this.getSiteUrl(),
            siteTitle: this.getSiteTitle()
        };

        const data = _.defaults(defaults, options.data);

        // read the proper email body template
        const content = await fs.readFile(path.join(this.templatesDir, options.template + '.html'), 'utf8');

        // insert user-specific data into the email
        const compiled = _.template(content);
        const htmlContent = compiled(data);

        // lazyload the lib, and generate a plain-text version of the same email
        const htmlToText = require('html-to-text');
        const textContent = htmlToText.fromString(htmlContent);

        return {
            html: htmlContent,
            text: textContent
        };
    }
@param {Object} options
@param {string} options.template - HTML template name to use for generation
@param {Object} [options.data] - variable data to use during HTML template compilation
@returns {Promise<{html: String, text: String}>} resolves with an object containing html and text properties