Enhancement: Add support for fixing MessageID

This library produced MimeMessage instances where the MessageId cannot be fixed. This is because when sending MimeMessage with Jakarta Mail, the ID is always overwritten by a generated one. to fix this, this class should return a subtype that overrides the ID, if given by the user, as follows:

    @Override
    protected void updateMessageID() throws MessagingException {
        if (messageId == null || messageId.length() == 0) {
            super.updateMessageID();
        } else {
            setHeader("Message-ID", messageId);
        }
    }