API Reference
Represents an email document with XHTML 1.0 Strict compliance for email clients. This partial class contains configuration-related methods.
Inheritance
- Element
Constructors
public Email(DocumentConfiguration configuration) #Initializes a new instance of the Email class with a configuration delegate.
Parameters
- configure System.Action{HtmlForgeX.Email.DocumentConfiguration}
- Delegate to configure the DocumentConfiguration.
Methods
public Void AddLibrary(EmailLibraries library) #VoidAdds a predefined email library.
Parameters
- library HtmlForgeX.Email.EmailLibraries
- Library identifier.
public Email ConfigureImageOptimization(Int32 maxWidth = 800, Int32 maxHeight = 600, Int32 quality = 85) #EmailConfigures image optimization settings for this email.
Parameters
- maxWidth System.Int32 = 800
- Maximum width in pixels (default: 800).
- maxHeight System.Int32 = 600
- Maximum height in pixels (default: 600).
- quality System.Int32 = 85
- JPEG quality 0-100 (default: 85).
Returns
The Email object, allowing for method chaining.
public Email ConfigureLayout(String containerPadding = "12px", String contentPadding = "8px", String maxWidth = "600px", String containerPaddingMobile = null) #EmailConfigures layout settings for this email using string values.
Parameters
- containerPadding System.String = "12px"
- Container padding (default: "12px").
- contentPadding System.String = "8px"
- Content padding (default: "8px").
- maxWidth System.String = "600px"
- Maximum content width (default: "600px").
- containerPaddingMobile System.String = null
- Mobile container padding (default: value from ContainerPaddingMobile).
Returns
The Email object, allowing for method chaining.
public Email ConfigureLayout(String customMaxWidth, EmailPaddingSize containerPadding = Medium, EmailPaddingSize contentPadding = Small) #EmailConfigures layout settings for this email using predefined enum values. Provides easy-to-use presets while maintaining full control.
Parameters
- layoutSize HtmlForgeX.Email.EmailLayoutSize = Standard
- Predefined layout size (default: Standard).
- containerPadding HtmlForgeX.Email.EmailPaddingSize = Medium
- Container padding size (default: Medium).
- contentPadding HtmlForgeX.Email.EmailPaddingSize = Small
- Content padding size (default: Small).
Returns
The Email object, allowing for method chaining.
ConfigureLayout(System.String customMaxWidth, HtmlForgeX.Email.EmailPaddingSize containerPadding, HtmlForgeX.Email.EmailPaddingSize contentPadding) #Configures layout settings with custom width but predefined padding. Perfect for when you know the exact width you want but prefer enum padding.
Parameters
- customMaxWidth System.String
- Custom maximum width (e.g., "750px", "90%").
- containerPadding HtmlForgeX.Email.EmailPaddingSize
- Container padding size (default: Medium).
- contentPadding HtmlForgeX.Email.EmailPaddingSize
- Content padding size (default: Small).
Returns
The Email object, allowing for method chaining.
public Email ConfigureTheme(Action<Theme> configure) #EmailConfigures the per-email Theme (surface/text/accent) without writing CSS.
Parameters
- configure System.Action{HtmlForgeX.Email.Theme}
public Email DisableImageEmbedding() #EmailDisables automatic image embedding for this email.
Returns
The Email object, allowing for method chaining.
public Email EnableImageEmbedding(Int32 timeout = 30, Boolean optimize = false) #EmailEnables automatic image embedding for all images in this email.
Parameters
- timeout System.Int32 = 30
- Timeout in seconds for URL downloads (default: 30).
- optimize System.Boolean = false
- Whether to enable image optimization (default: false).
Returns
The Email object, allowing for method chaining.
public Email EnableInlineImageAttachments(Int32 timeout = 30) #EmailEnables automatic image embedding as inline attachments (CID). Use RenderAsync to obtain the HTML + inline resources for your mail library (MimeKit/MailKit, etc.).
Parameters
- timeout System.Int32 = 30
- Timeout in seconds for URL downloads (default: 30).
Returns
The Email object, allowing for method chaining.
EvaluateAllLayouts() #Evaluates layout information for all child elements.
RegisterAllLibraries() #Recursively registers libraries from all elements in the email.
RegisterLibrariesFromElement(HtmlForgeX.Email.Element element) #Recursively registers libraries from an element and all its children.
Parameters
- element HtmlForgeX.Email.Element
- The element to process.
public EmailRenderResult Render() #EmailRenderResultRenders the email and returns the HTML plus any inline resources (CID attachments) needed.
public Task<EmailRenderResult> RenderAsync() #Task<EmailRenderResult>Renders the email and returns the HTML plus any inline resources (CID attachments) needed.
public Void Save(String path, Boolean openInBrowser = false) #VoidSaves the email to disk.
Parameters
- path System.String
- File path.
- openInBrowser System.Boolean = false
- Whether to open the file after saving.
public async Task SaveAsync(String path, Boolean openInBrowser = false, CancellationToken cancellationToken = null) #TaskSaves the email to disk asynchronously.
Parameters
- path System.String
- File path.
- openInBrowser System.Boolean = false
- Whether to open the file after saving.
- cancellationToken System.Threading.CancellationToken = null
- Token used to cancel the operation.
public Email SetDarkModeSupport(Boolean enabled = true) #EmailEnables dark mode support for this email.
Parameters
- enabled System.Boolean = true
- Whether to enable dark mode support (default: true).
Returns
The Email object, allowing for method chaining.
public Email SetEmbeddingWarnings(Boolean enabled = true) #EmailEnables or disables logging of embedding warnings.
Parameters
- enabled System.Boolean = true
- Whether to log warnings (default: true).
Returns
The Email object, allowing for method chaining.
public Email SetMaxEmbedFileSize(Int64 maxSizeBytes) #EmailSets the maximum file size for automatic image embedding.
Parameters
- maxSizeBytes System.Int64
- Maximum file size in bytes (default: 2MB).
Returns
The Email object, allowing for method chaining.
public Email SetSmartImageDetection(Boolean enabled = true) #EmailEnables or disables smart image detection (file vs URL detection).
Parameters
- enabled System.Boolean = true
- Whether to enable smart detection (default: true).
Returns
The Email object, allowing for method chaining.
public override String ToString() #StringConverts the Email to its XHTML string representation.
Returns
Complete XHTML email document as string.
public async Task<String> ToStringAsync() #Task<String>Asynchronously converts the Email to its XHTML string representation.
Returns
A task containing the complete XHTML email document as string.
public Email WithAccentColor(String lightColor, String darkColor = null) #EmailSets the accent color used by components that rely on semantic colors (buttons, links, charts, etc.).
Parameters
- lightColor System.String
- darkColor System.String = null
public Email WithSurfaceColor(String lightColor, String darkColor = null) #EmailSets the surface color used by semantic components (containers, cards) when they use theme defaults.
Parameters
- lightColor System.String
- darkColor System.String = null
public Email WithTextColor(String lightColor, String darkColor = null) #EmailSets the primary text color used by semantic components when they use theme defaults.
Parameters
- lightColor System.String
- darkColor System.String = null
public Email WithThemeMode(EmailThemeMode mode) #EmailSets the theme mode for this email.
Parameters
- mode HtmlForgeX.Email.EmailThemeMode
- The theme mode (Light, Dark, or Auto).
Returns
The Email object, allowing for method chaining.
Inherited Methods
public override Element Add(Element element) #ElementParameters
- element Element
public override Element AddCssClass(String cssClass) #ElementParameters
- cssClass String
public EmailActivityList EmailActivityList() #EmailActivityListParameters
- config Action<EmailActivityList>
public EmailAddressBlock EmailAddressBlock() #EmailAddressBlockParameters
- config Action<EmailAddressBlock>
public EmailAddressCard EmailAddressCard() #EmailAddressCardParameters
- config Action<EmailAddressCard>
public EmailAlert EmailAlert(EmailAlertType type, String title, String message = "") #EmailAlertParameters
- config Action<EmailAlert>
public EmailArticleCard EmailArticleCard() #EmailArticleCardParameters
- config Action<EmailArticleCard>
public EmailArticleList EmailArticleList() #EmailArticleListParameters
- config Action<EmailArticleList>
public EmailAttachmentList EmailAttachmentList() #EmailAttachmentListParameters
- config Action<EmailAttachmentList>
public EmailAvatar EmailAvatar(String initials, String size = "40px") #EmailAvatarParameters
- config Action<EmailAvatar>
public EmailAvatarStack EmailAvatarStack() #EmailAvatarStackParameters
- config Action<EmailAvatarStack>
public EmailBackgroundImageBox EmailBackgroundImageBox() #EmailBackgroundImageBoxParameters
- config Action<EmailBackgroundImageBox>
public EmailBadge EmailBadge(String text, String backgroundColor = "#64748B", String color = "#FFFFFF") #EmailBadgeParameters
- config Action<EmailBadge>
public EmailBadgeList EmailBadgeList() #EmailBadgeListParameters
- config Action<EmailBadgeList>
public EmailBarChart EmailBarChart() #EmailBarChartParameters
- config Action<EmailBarChart>
public EmailBarcode EmailBarcode(String value) #EmailBarcodeParameters
- config Action<EmailBarcode>
public Element EmailBlockquote(Action<EmailBlockquote> config) #ElementParameters
- content String = ""
public Element EmailBox(Action<EmailBox> config) #ElementParameters
- config Action<EmailBox>
public Element EmailBoxWithBuilder(Action<EmailBoxBuilder> config) #ElementParameters
- config Action<EmailBoxBuilder>
public EmailBrandStrip EmailBrandStrip() #EmailBrandStripParameters
- config Action<EmailBrandStrip>
public Element EmailButton(Action<EmailButton> config) #ElementParameters
- config Action<EmailButton>
public EmailButtonGroup EmailButtonGroup() #EmailButtonGroupParameters
- config Action<EmailButtonGroup>
public EmailCalendar EmailCalendar() #EmailCalendarParameters
- config Action<EmailCalendar>
public EmailCalloutCard EmailCalloutCard() #EmailCalloutCardParameters
- config Action<EmailCalloutCard>
public EmailChangelog EmailChangelog() #EmailChangelogParameters
- config Action<EmailChangelog>
public Element EmailColumn(Action<EmailColumn> config) #ElementParameters
- config Action<EmailColumn>
public EmailCommentList EmailCommentList() #EmailCommentListParameters
- config Action<EmailCommentList>
public EmailComparisonTable EmailComparisonTable() #EmailComparisonTableParameters
- config Action<EmailComparisonTable>
public Element EmailContent(Action<EmailContent> config) #ElementParameters
- config Action<EmailContent>
public EmailCredentialCard EmailCredentialCard() #EmailCredentialCardParameters
- config Action<EmailCredentialCard>
public EmailDateStrip EmailDateStrip() #EmailDateStripParameters
- config Action<EmailDateStrip>
public Element EmailDivider(Action<EmailDivider> config) #ElementParameters
- config Action<EmailDivider>
public EmailDnsRecordsTable EmailDnsRecordsTable() #EmailDnsRecordsTableParameters
- config Action<EmailDnsRecordsTable>
public EmailDonutChart EmailDonutChart() #EmailDonutChartParameters
- config Action<EmailDonutChart>
public EmailDownloadCard EmailDownloadCard() #EmailDownloadCardParameters
- config Action<EmailDownloadCard>
public EmailEmojiRating EmailEmojiRating() #EmailEmojiRatingParameters
- config Action<EmailEmojiRating>
public EmailEmptyStateCard EmailEmptyStateCard() #EmailEmptyStateCardParameters
- config Action<EmailEmptyStateCard>
public EmailEventCard EmailEventCard() #EmailEventCardParameters
- config Action<EmailEventCard>
public EmailFaqList EmailFaqList() #EmailFaqListParameters
- config Action<EmailFaqList>
public EmailFeatureList EmailFeatureList() #EmailFeatureListParameters
- config Action<EmailFeatureList>
public Element EmailHeading(Action<EmailHeading> config) #ElementParameters
- content String = ""
- level Int32 = 2
public EmailHeatmap EmailHeatmap() #EmailHeatmapParameters
- config Action<EmailHeatmap>
public EmailHero EmailHero() #EmailHeroParameters
- config Action<EmailHero>
public EmailIconCircle EmailIconCircle() #EmailIconCircleParameters
- config Action<EmailIconCircle>
public EmailImage EmailImage(String source, String width) #EmailImageParameters
- config Action<EmailImage>
public EmailIncidentSummaryCard EmailIncidentSummaryCard() #EmailIncidentSummaryCardParameters
- config Action<EmailIncidentSummaryCard>
public EmailInlineStack EmailInlineStack() #EmailInlineStackParameters
- config Action<EmailInlineStack>
public EmailInvoiceLineItemsTable EmailInvoiceLineItemsTable() #EmailInvoiceLineItemsTableParameters
- config Action<EmailInvoiceLineItemsTable>
public EmailInvoiceTotals EmailInvoiceTotals() #EmailInvoiceTotalsParameters
- config Action<EmailInvoiceTotals>
public EmailKeyValueTable EmailKeyValueTable() #EmailKeyValueTableParameters
- config Action<EmailKeyValueTable>
public EmailKpiDelta EmailKpiDelta() #EmailKpiDeltaParameters
- config Action<EmailKpiDelta>
public EmailLineBreak EmailLineBreak(String height) #EmailLineBreakParameters
- height String
public EmailLineItemsTable EmailLineItemsTable() #EmailLineItemsTableParameters
- config Action<EmailLineItemsTable>
public Element EmailLink(Action<EmailLink> config) #ElementParameters
- content String
- href String
public Element EmailList(Action<EmailList> config) #ElementParameters
- config Action<EmailList>
public EmailMapCard EmailMapCard() #EmailMapCardParameters
- config Action<EmailMapCard>
public EmailMediaObject EmailMediaObject() #EmailMediaObjectParameters
- config Action<EmailMediaObject>
public EmailMessageThread EmailMessageThread() #EmailMessageThreadParameters
- config Action<EmailMessageThread>
public EmailMetricTile EmailMetricTile(String value, String label, String icon = "") #EmailMetricTileParameters
- config Action<EmailMetricTile>
public EmailNpsRating EmailNpsRating() #EmailNpsRatingParameters
- config Action<EmailNpsRating>
public EmailOfferCard EmailOfferCard() #EmailOfferCardParameters
- config Action<EmailOfferCard>
public EmailOtpCode EmailOtpCode(String code) #EmailOtpCodeParameters
- config Action<EmailOtpCode>
public EmailPhotoCard EmailPhotoCard() #EmailPhotoCardParameters
- config Action<EmailPhotoCard>
public EmailPhotoGrid EmailPhotoGrid() #EmailPhotoGridParameters
- config Action<EmailPhotoGrid>
public EmailPricingTable EmailPricingTable() #EmailPricingTableParameters
- config Action<EmailPricingTable>
public EmailProductCard EmailProductCard() #EmailProductCardParameters
- config Action<EmailProductCard>
public EmailProductGrid EmailProductGrid() #EmailProductGridParameters
- config Action<EmailProductGrid>
public EmailProfileCard EmailProfileCard() #EmailProfileCardParameters
- config Action<EmailProfileCard>
public EmailProgressBar EmailProgressBar(Int32 value) #EmailProgressBarParameters
- config Action<EmailProgressBar>
public EmailProjectList EmailProjectList() #EmailProjectListParameters
- config Action<EmailProjectList>
public EmailPromoCodeCard EmailPromoCodeCard() #EmailPromoCodeCardParameters
- config Action<EmailPromoCodeCard>
public EmailQrCode EmailQrCode(String value) #EmailQrCodeParameters
- config Action<EmailQrCode>
public EmailReceiptCard EmailReceiptCard() #EmailReceiptCardParameters
- config Action<EmailReceiptCard>
public EmailRepoStatsCard EmailRepoStatsCard() #EmailRepoStatsCardParameters
- config Action<EmailRepoStatsCard>
public EmailReviewStars EmailReviewStars() #EmailReviewStarsParameters
- config Action<EmailReviewStars>
public EmailReviewSummary EmailReviewSummary() #EmailReviewSummaryParameters
- config Action<EmailReviewSummary>
public Element EmailRow(Action<EmailRow> config) #ElementParameters
- config Action<EmailRow>
public EmailScheduleCard EmailScheduleCard() #EmailScheduleCardParameters
- config Action<EmailScheduleCard>
public EmailScheduleList EmailScheduleList() #EmailScheduleListParameters
- config Action<EmailScheduleList>
public EmailShippingProgress EmailShippingProgress() #EmailShippingProgressParameters
- config Action<EmailShippingProgress>
public EmailSocialLinks EmailSocialLinks() #EmailSocialLinksParameters
- config Action<EmailSocialLinks>
public Element EmailSpacer(Action<EmailSpacer> config) #ElementParameters
- height String
public EmailSparklineBars EmailSparklineBars(params Int32[] values) #EmailSparklineBarsParameters
- config Action<EmailSparklineBars>
public EmailStatCard EmailStatCard(String title, String value, String subtitle = "", String delta = "", EmailTrendDirection trend = Neutral) #EmailStatCardParameters
- config Action<EmailStatCard>
public EmailStatusTimeline EmailStatusTimeline() #EmailStatusTimelineParameters
- config Action<EmailStatusTimeline>
public EmailStepsIndicator EmailStepsIndicator() #EmailStepsIndicatorParameters
- config Action<EmailStepsIndicator>
public EmailStoreBadges EmailStoreBadges() #EmailStoreBadgesParameters
- config Action<EmailStoreBadges>
public EmailSubscriptionSummaryCard EmailSubscriptionSummaryCard() #EmailSubscriptionSummaryCardParameters
- config Action<EmailSubscriptionSummaryCard>
public EmailSurveyOptions EmailSurveyOptions() #EmailSurveyOptionsParameters
- config Action<EmailSurveyOptions>
public Element EmailTable<T>(IEnumerable<T> data, Action<EmailDynamicTable<T>> config) #ElementType Parameters
- T
Parameters
- config Action<EmailTable>
public Element EmailText(Action<EmailText> config) #ElementParameters
- content String = ""
public EmailTextBlock EmailTextBlock() #EmailTextBlockParameters
- config Action<EmailTextBlock>
public EmailTodoList EmailTodoList() #EmailTodoListParameters
- config Action<EmailTodoList>
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
public override Void EvaluateLayout(LayoutContext context) #VoidParameters
- context LayoutContext
public override Element WithCssClass(String cssClass) #ElementParameters
- cssClass String
public override Element WithMargin(String margin) #ElementParameters
- margin String
Properties
public Int32 EmbeddingWarningCount { get; } #Gets the number of embedding warnings collected during generation.
public Theme Theme { get; } #Per-email theme palette (surface/text/accent). Configure this to match your brand without writing CSS.
public DocumentConfiguration Configuration { get; } #Configuration and state for this email document instance.
public EmailHeader Header { get; } #Gets the header area rendered at the top of the email.
public EmailLibraryMode LibraryMode { get; set; } #Gets or sets the library mode for the email. Unsupported modes are ignored.
public String Path { get; set; } #Gets or sets the file system path where the email will be saved.