code: function SendGrid(options) {
    /*jshint maxcomplexity: 8 */
  
    options = options || {};
  
    this.username = options.username || process.env.THEHELP_SENDGRID_USERNAME;
    if (!this.username) {
      throw new Error('need to provide sendgrid username by options or env var');
    }
  
    this.password = options.password || process.env.THEHELP_SENDGRID_PASSWORD;
    if (!this.password) {
      throw new Error('need to provide sendgrid password by options or env var');
    }
  
    this.verify = options.verify || process.env.THEHELP_SENDGRID_VERIFY;
    this.Busboy = options.Busboy;
  
    this.parse = this.parse.bind(this);
    this.validate = this.validate.bind(this);
  
    this.superagent = options.superagent || superagent;
  }
docs: /*
  Two environment varialbes are required to create a `Sendgrid` instance:
  
  1. `username`/`THEHELP_SENDGRID_USERNAME` - this is your raw Sendgrid account username
  2. `password`/`THEHELP_SENDGRID_PASSWORD` - unfortunately, this is the same password as
  your account. Not an account API access token. I heartily recommend that you create
  additional sub-accounts to use for your programs:
  <https://sendgrid.com/docs/User_Guide/multiple_credentials.html>.