Пример #1
0
        /// <summary>
        /// Serializes the <paramref name="entity"/> as RFC 5322 text to <paramref name="writer"/>
        /// </summary>
        /// <param name="entity">The <see cref="MimeEntity"/> to serialize</param>
        /// <param name="entityWriter">The <see cref="MimeWriter"/> to which to serialize</param>
        public void Serialize(MimeEntity entity, MimeWriter entityWriter)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }

            if (entityWriter == null)
            {
                throw new ArgumentNullException("entityWriter");
            }

            if (entity.HasHeaders)
            {
                entityWriter.Write(entity.Headers);
                entityWriter.WriteCRLF();
            }

            if (entity.HasBody)
            {
                entityWriter.Write(entity.Body);
                if (entity is Message)
                {
                    entityWriter.WriteCRLF();
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Serialize fields to the given text writer
 /// </summary>
 /// <param name="writer"></param>
 public void Serialize(TextWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     using (MimeWriter mimeWriter = new MimeWriter(writer))
     {
         mimeWriter.Write(m_fields);
     }
 }
Пример #3
0
        /// <summary>
        /// Serializes the <paramref name="entity"/> as RFC 5322 text to <paramref name="writer"/>
        /// </summary>
        /// <param name="entity">The <see cref="MimeEntity"/> to serialize</param>
        /// <param name="writer">The <see cref="TextWriter"/> to which to serialize</param>
        public override void Serialize(MimeEntity entity, TextWriter writer)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }

            using (MimeWriter entityWriter = new MimeWriter(writer))
            {
                Serialize(entity, entityWriter);
            }
        }
Пример #4
0
        /// <summary>
        /// Returns the header collection as a string
        /// The headers are formatted according to MIME rules
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            using (StringWriter stringWriter = new StringWriter())
            {
                using (MimeWriter mimeWriter = new MimeWriter(stringWriter))
                {
                    mimeWriter.Write(this);
                }

                return(stringWriter.ToString());
            }
        }
Пример #5
0
        /// <summary>
        /// Seralizes an enumeration of <paramref name="entities"/> as a multipart body.
        /// </summary>
        /// <remarks>Mutipart MIME headers not included.</remarks>
        /// <param name="entities">The entities to write as multipart body parts</param>
        /// <param name="boundary">The multipart boundary string</param>
        /// <param name="writer">The <see cref="TextWriter"/> to which to serialize.</param>
        public override void Serialize(IEnumerable <MimeEntity> entities, string boundary, TextWriter writer)
        {
            if (entities == null)
            {
                throw new ArgumentNullException("entities");
            }

            using (MimeWriter entityWriter = new MimeWriter(writer))
            {
                foreach (MimeEntity entity in entities)
                {
                    entityWriter.WriteMimeBoundary(boundary, false);
                    Serialize(entity, entityWriter);
                }
                entityWriter.WriteMimeBoundary(boundary, true);
            }
        }
Пример #6
0
 public MimeWriterFacts()
 {
     m_writer = new MimeWriter(new StringWriter());
 }