HtmlEmailOutput Class

Provides output writing capabilities for HTML email templates with support for HTML encoding, URL encoding, sections, and content identifiers.

public class HtmlEmailOutput : Output

Example

using var template = new HtmlEmailTemplate();
using var writer = new StringWriter();
var output = new HtmlEmailOutput(template, writer);

output.WriteHtmlEncode("<b>text</b>");
Assert.Equal("&lt;b&gt;text&lt;/b&gt;", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteHtmlAttributeEncode("a b");
Assert.Equal("a&#x20;b", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteUrlEncode("value&param");
Assert.Equal("value%26param", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteContentIdentifier("logo.png");
Assert.Equal("cid:logo.png", writer.ToString());
Inheritance
Output HtmlEmailOutput

Constructors

NameDescription
HtmlEmailOutput(Template, TextWriter)Provides output writing capabilities for HTML email templates with support for HTML encoding, URL encoding, sections, and content identifiers.

HtmlEmailOutput(Template, TextWriter)

HtmlEmailOutput.cs

Provides output writing capabilities for HTML email templates with support for HTML encoding, URL encoding, sections, and content identifiers.

public HtmlEmailOutput(Template template, TextWriter writer)

Parameters

template Template
writer TextWriter

Example

using var template = new HtmlEmailTemplate();
using var writer = new StringWriter();
var output = new HtmlEmailOutput(template, writer);

output.WriteHtmlEncode("<b>text</b>");
Assert.Equal("&lt;b&gt;text&lt;/b&gt;", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteHtmlAttributeEncode("a b");
Assert.Equal("a&#x20;b", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteUrlEncode("value&param");
Assert.Equal("value%26param", writer.ToString());

writer.GetStringBuilder().Clear();
output.WriteContentIdentifier("logo.png");
Assert.Equal("cid:logo.png", writer.ToString());

Properties

NameDescription
ContentIdentifiersGets the list of content identifiers (CIDs) referenced in the template.

ContentIdentifiers

HtmlEmailOutput.cs

Gets the list of content identifiers (CIDs) referenced in the template.

public IList<string> ContentIdentifiers { get; }

Property value

IList<string>

Methods

NameDescription
BeginSection(string)Begins a named section for capturing output separately from the main content.
EndSection(string)Ends a named section and stores its captured content.
GetSection(string)Retrieves the content of a previously captured section.
HtmlDecode(string)Decodes HTML-encoded text.
Write(object?)
Write(string?)
Write(string, object?[])
WriteContentIdentifier(string)Writes a content identifier (CID) reference for embedding resources in emails.
WriteHtmlAttributeEncode(object?)Writes an HTML attribute-encoded value to the output.
WriteHtmlAttributeEncode(string?)Writes an HTML attribute-encoded string to the output.
WriteHtmlAttributeEncode(string, object?[])Writes a formatted HTML attribute-encoded string to the output.
WriteHtmlEncode(object?)Writes an HTML-encoded value to the output.
WriteHtmlEncode(string?)Writes an HTML-encoded string to the output.
WriteHtmlEncode(string, object?[])Writes a formatted HTML-encoded string to the output.
WriteUrlEncode(object?)Writes a URL-encoded value to the output.
WriteUrlEncode(string?)Writes a URL-encoded string to the output.
WriteUrlEncode(string, object?[])Writes a formatted URL-encoded string to the output.

BeginSection(string)

HtmlEmailOutput.cs

Begins a named section for capturing output separately from the main content.

public void BeginSection(string name)

Parameters

name string
The name of the section to begin.

EndSection(string)

HtmlEmailOutput.cs

Ends a named section and stores its captured content.

public void EndSection(string name)

Parameters

name string
The name of the section to end.

GetSection(string)

HtmlEmailOutput.cs

Retrieves the content of a previously captured section.

public string? GetSection(string name)

Parameters

name string
The name of the section to retrieve.

Returns

string? The decoded content of the section, or null if the section does not exist.

HtmlDecode(string)

HtmlEmailOutput.cs

Decodes HTML-encoded text.

protected virtual string? HtmlDecode(string html)

Parameters

html string

Returns

string?

Write overloads

Write(object?)

HtmlEmailOutput.cs
public override void Write(object? value)
Parameters
value object?

No documentation is available.

Write(string?)

HtmlEmailOutput.cs
public override void Write(string? value)
Parameters
value string?

No documentation is available.

Write(string, object?[])

HtmlEmailOutput.cs
public override void Write(string format, params object?[] args)
Parameters
format string
args object?[]

No documentation is available.

WriteContentIdentifier(string)

HtmlEmailOutput.cs

Writes a content identifier (CID) reference for embedding resources in emails.

public virtual void WriteContentIdentifier(string cid)

Parameters

cid string
The content identifier to write.

WriteHtmlAttributeEncode overloads

WriteHtmlAttributeEncode(object?)

HtmlEmailOutput.cs

Writes an HTML attribute-encoded value to the output.

public virtual void WriteHtmlAttributeEncode(object? value)
Parameters
value object?

WriteHtmlAttributeEncode(string?)

HtmlEmailOutput.cs

Writes an HTML attribute-encoded string to the output.

public virtual void WriteHtmlAttributeEncode(string? value)
Parameters
value string?

WriteHtmlAttributeEncode(string, object?[])

HtmlEmailOutput.cs

Writes a formatted HTML attribute-encoded string to the output.

public virtual void WriteHtmlAttributeEncode(string format, params object?[] args)
Parameters
format string
args object?[]

WriteHtmlEncode overloads

WriteHtmlEncode(object?)

HtmlEmailOutput.cs

Writes an HTML-encoded value to the output.

public virtual void WriteHtmlEncode(object? value)
Parameters
value object?

WriteHtmlEncode(string?)

HtmlEmailOutput.cs

Writes an HTML-encoded string to the output.

public virtual void WriteHtmlEncode(string? value)
Parameters
value string?

WriteHtmlEncode(string, object?[])

HtmlEmailOutput.cs

Writes a formatted HTML-encoded string to the output.

public virtual void WriteHtmlEncode(string format, params object?[] args)
Parameters
format string
args object?[]

WriteUrlEncode overloads

WriteUrlEncode(object?)

HtmlEmailOutput.cs

Writes a URL-encoded value to the output.

public virtual void WriteUrlEncode(object? value)
Parameters
value object?

WriteUrlEncode(string?)

HtmlEmailOutput.cs

Writes a URL-encoded string to the output.

public virtual void WriteUrlEncode(string? value)
Parameters
value string?

WriteUrlEncode(string, object?[])

HtmlEmailOutput.cs

Writes a formatted URL-encoded string to the output.

public virtual void WriteUrlEncode(string format, params object?[] args)
Parameters
format string
args object?[]

Constants

NameDescription
TitleSectionNameThe name of the section used for the email title.

TitleSectionName

The name of the section used for the email title.

public const string TitleSectionName = "title"