MimeKit.MimePart.GetBestEncoding C# (CSharp) Method

GetBestEncoding() public method

Calculates the most efficient content encoding given the specified constraint.
If no ContentObject is set, ContentEncoding.SevenBit will be returned.
/// is not a valid value. /// /// The operation was canceled via the cancellation token. /// /// An I/O error occurred. ///
public GetBestEncoding ( EncodingConstraint constraint, CancellationToken cancellationToken = default(CancellationToken) ) : ContentEncoding
constraint EncodingConstraint The encoding constraint.
cancellationToken System.Threading.CancellationToken A cancellation token.
return ContentEncoding
		public ContentEncoding GetBestEncoding (EncodingConstraint constraint, CancellationToken cancellationToken = default (CancellationToken))
		{
			return GetBestEncoding (constraint, 78, cancellationToken);
		}

Same methods

MimePart::GetBestEncoding ( EncodingConstraint constraint, int maxLineLength, CancellationToken cancellationToken = default(CancellationToken) ) : ContentEncoding

Usage Example

Exemplo n.º 1
0
        ContentEncoding GetFinalEncoding(MimePart part)
        {
            if ((capabilities & SmtpCapabilities.BinaryMime) != 0) {
                // no need to re-encode...
                return part.ContentTransferEncoding;
            }

            if ((capabilities & SmtpCapabilities.EightBitMime) != 0) {
                switch (part.ContentTransferEncoding) {
                case ContentEncoding.Default:
                case ContentEncoding.Binary:
                    break;
                default:
                    // all other Content-Transfer-Encodings are safe to transmit...
                    return part.ContentTransferEncoding;
                }
            }

            switch (part.ContentTransferEncoding) {
            case ContentEncoding.EightBit:
            case ContentEncoding.Default:
            case ContentEncoding.Binary:
                break;
            default:
                // all other Content-Transfer-Encodings are safe to transmit...
                return part.ContentTransferEncoding;
            }

            ContentEncoding encoding;

            if ((capabilities & SmtpCapabilities.BinaryMime) != 0)
                encoding = part.GetBestEncoding (EncodingConstraint.None);
            else if ((capabilities & SmtpCapabilities.EightBitMime) != 0)
                encoding = part.GetBestEncoding (EncodingConstraint.EightBit);
            else
                encoding = part.GetBestEncoding (EncodingConstraint.SevenBit);

            if (encoding == ContentEncoding.SevenBit)
                return encoding;

            part.ContentTransferEncoding = encoding;

            return encoding;
        }