async send(message) {
        if (!(message && message.subject && message.html && message.to)) {
            throw createMailError({
                message: tpl(messages.incompleteMessageDataError),
                ignoreDefaultMessage: true
            });
        }

        const messageToSend = createMessage(message);

        const response = await this.sendMail(messageToSend);

        if (this.state.usingDirect) {
            return this.handleDirectTransportResponse(response);
        }

        return response;
    }
@param {Object} message
@param {string} message.subject - email subject
@param {string} message.html - email content
@param {string} message.to - email recipient address
@param {string} [message.replyTo]
@param {string} [message.from] - sender email address
@param {string} [message.text] - text version of this message
@param {boolean} [message.forceTextContent] - maps to generateTextFromHTML nodemailer option
which is: "if set to true uses HTML to generate plain text body part from the HTML if the text is not defined"
(ref: https://github.com/nodemailer/nodemailer/tree/da2f1d278f91b4262e940c0b37638e7027184b1d#e-mail-message-fields)
@returns {Promise<any>}