SetContentDisposition() public method

Set all content disposition related fields.
public SetContentDisposition ( string headerLineContent ) : void
headerLineContent string Content of the mail header line.
return void
Beispiel #1
0
        /// <summary>
        /// Convert one MIME header field and update message accordingly
        /// </summary>
        /// <param name="message">Parsed message object</param>
        /// <param name="headerField">header field</param>
        private void ProcessHeaderField(MailMessageParser message, string headerField)
        {
            string headerLineType;
            string headerLineContent;
            int separatorPosition = headerField.IndexOf(ServiceConstants.COLON, StringComparison.CurrentCulture);
            if (0 < separatorPosition)
            {
                ////process header field type
                headerLineType = headerField.Substring(0, separatorPosition).ToUpperInvariant();
                headerLineContent = headerField.Substring(separatorPosition + 1).Trim(whiteSpaceChars);
                if (string.IsNullOrEmpty(headerLineType) || string.IsNullOrEmpty(headerLineContent))
                {
                    ////mail header parts missing, exist function
                    return;
                }
                //// add header line to headers
                message.Headers.Add(headerLineType, headerLineContent);

                switch (headerLineType)
                {
                    case ServiceConstants.MailAttributes.BCC:
                        AddMailAddresses(headerLineContent, message.Bcc);
                        break;
                    case ServiceConstants.MailAttributes.CC:
                        AddMailAddresses(headerLineContent, message.CC);
                        break;
                    case ServiceConstants.MailAttributes.CONTENT_DESCRIPTION:
                        message.ContentDescription = headerLineContent;
                        break;
                    case ServiceConstants.MailAttributes.CONTENT_DISPOSITION:
                        message.SetContentDisposition(headerLineContent);
                        break;
                    case ServiceConstants.MailAttributes.CONTENT_ID:
                        message.ContentId = headerLineContent;
                        break;
                    case ServiceConstants.MailAttributes.CONTENT_TRANSFER_ENCODING:
                        message.ContentTransferEncoding = ConvertToTransferEncoding(headerLineContent);
                        break;
                    case ServiceConstants.MailAttributes.CONTENT_TYPE:
                        message.SetContentTypeFields(headerLineContent);
                        break;
                    case ServiceConstants.MailAttributes.DATE:
                        message.DeliveryDate = this.ConvertToDateTime(headerLineContent);
                        break;
                    case ServiceConstants.MailAttributes.FROM:
                        MailAddress address = ConvertToMailAddress(headerLineContent);
                        if (null != address)
                        {
                            message.From = address;
                        }
                        break;
                    case ServiceConstants.MailAttributes.SENDER:
                        message.Sender = ConvertToMailAddress(headerLineContent);
                        break;
                    case ServiceConstants.MailAttributes.SUBJECT:
                        message.Subject = headerLineContent;
                        break;
                    case ServiceConstants.MailAttributes.TO:
                        AddMailAddresses(headerLineContent, message.To);
                        break;
                    case ServiceConstants.MailAttributes.IMPORTANCE:
                        message.MailImportance = headerLineContent;
                        break;
                    case ServiceConstants.MailAttributes.CATEGORIES:
                        message.MailCategories = headerLineContent;
                        break;
                    case ServiceConstants.MailAttributes.RECEIVED:
                        if (message.ReceivedDate.Year.Equals(1))
                        {
                            message.ReceivedDate = this.ProcessReceivedDate(headerLineContent);
                        }
                        break;
                    default:
                        message.UnknowHeaderlines.Add(headerField);
                        if (IsCollectHiddenHeaderLines)
                        {
                            AllHiddenHeaderLines.Add(headerField);
                        }

                        break;
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Convert one MIME header field and update message accordingly
        /// </summary>
        /// <param name="message">Parsed message object</param>
        /// <param name="headerField">header field</param>
        private void ProcessHeaderField(MailMessageParser message, string headerField)
        {
            string headerLineType;
            string headerLineContent;
            int    separatorPosition = headerField.IndexOf(ServiceConstants.COLON, StringComparison.CurrentCulture);

            if (0 < separatorPosition)
            {
                ////process header field type
                headerLineType    = headerField.Substring(0, separatorPosition).ToUpperInvariant();
                headerLineContent = headerField.Substring(separatorPosition + 1).Trim(whiteSpaceChars);
                if (string.IsNullOrEmpty(headerLineType) || string.IsNullOrEmpty(headerLineContent))
                {
                    ////mail header parts missing, exist function
                    return;
                }
                //// add header line to headers
                message.Headers.Add(headerLineType, headerLineContent);

                switch (headerLineType)
                {
                case ServiceConstants.MailAttributes.BCC:
                    AddMailAddresses(headerLineContent, message.Bcc);
                    break;

                case ServiceConstants.MailAttributes.CC:
                    AddMailAddresses(headerLineContent, message.CC);
                    break;

                case ServiceConstants.MailAttributes.CONTENT_DESCRIPTION:
                    message.ContentDescription = headerLineContent;
                    break;

                case ServiceConstants.MailAttributes.CONTENT_DISPOSITION:
                    message.SetContentDisposition(headerLineContent);
                    break;

                case ServiceConstants.MailAttributes.CONTENT_ID:
                    message.ContentId = headerLineContent;
                    break;

                case ServiceConstants.MailAttributes.CONTENT_TRANSFER_ENCODING:
                    message.ContentTransferEncoding = ConvertToTransferEncoding(headerLineContent);
                    break;

                case ServiceConstants.MailAttributes.CONTENT_TYPE:
                    message.SetContentTypeFields(headerLineContent);
                    break;

                case ServiceConstants.MailAttributes.DATE:
                    message.DeliveryDate = this.ConvertToDateTime(headerLineContent);
                    break;

                case ServiceConstants.MailAttributes.FROM:
                    MailAddress address = ConvertToMailAddress(headerLineContent);
                    if (null != address)
                    {
                        message.From = address;
                    }
                    break;

                case ServiceConstants.MailAttributes.SENDER:
                    message.Sender = ConvertToMailAddress(headerLineContent);
                    break;

                case ServiceConstants.MailAttributes.SUBJECT:
                    message.Subject = headerLineContent;
                    break;

                case ServiceConstants.MailAttributes.TO:
                    AddMailAddresses(headerLineContent, message.To);
                    break;

                case ServiceConstants.MailAttributes.IMPORTANCE:
                    message.MailImportance = headerLineContent;
                    break;

                case ServiceConstants.MailAttributes.CATEGORIES:
                    message.MailCategories = headerLineContent;
                    break;

                case ServiceConstants.MailAttributes.RECEIVED:
                    if (message.ReceivedDate.Year.Equals(1))
                    {
                        message.ReceivedDate = this.ProcessReceivedDate(headerLineContent);
                    }
                    break;

                default:
                    message.UnknowHeaderlines.Add(headerField);
                    if (IsCollectHiddenHeaderLines)
                    {
                        AllHiddenHeaderLines.Add(headerField);
                    }

                    break;
                }
            }
        }