/// <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(); } } }
/// <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); } }
/// <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); } }
/// <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()); } }
/// <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); } }
public MimeWriterFacts() { m_writer = new MimeWriter(new StringWriter()); }