/// <summary> /// Builds an unsigned DKIM-Signature header. Note that the returned /// header will NOT have a CRLF at the end. /// </summary> /// <param name="bodyHash">The hash of the body.</param> /// <returns>The unsigned DKIM-Signature header.</returns> private string GetUnsignedDkimHeader(DomainElement domain, string bodyHash) { return(string.Format( CultureInfo.InvariantCulture, "DKIM-Signature: v=1; a={0}; s={1}; d={2}; c={3}/{4}; q=dns/txt; h={5}; bh={6}; b=;", this.hashAlgorithmDkimCode, domain.getSelector(), domain.getDomain(), this.headerCanonicalization.ToString().ToLower(), this.bodyCanonicalization.ToString().ToLower(), string.Join(" : ", this.eligibleHeaders.OrderBy(x => x, StringComparer.Ordinal).ToArray()), bodyHash)); }