# PostaOptions

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.Posta](/reference/api/csharp/communitytoolkit.aspire.hosting.posta.md)
- Version: `13.5.0`
- Namespace: `CommunityToolkit.Aspire.Hosting.Posta`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1/src/CommunityToolkit.Aspire.Hosting.Posta/PostaOptions.cs)

Configuration options for the Posta container.

## Definition

```csharp
namespace CommunityToolkit.Aspire.Hosting.Posta;

public sealed class PostaOptions
{
    // ...
}
```

## Constructors

- [PostaOptions](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/constructors.md#constructor)

## Properties

- [AllowDowngrade](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#allowdowngrade) : `bool` `get; set` -- Gets or sets a value indicating whether older binaries can boot against a newer database schema.
- [ApiUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#apiurl) : `string?` `get; set` -- Gets or sets the public API base URL advertised in the OpenAPI servers list.
- [AuthRateLimitEnabled](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#authratelimitenabled) : `bool` `get; set` -- Gets or sets a value indicating whether auth rate limiting is enabled.
- [AutoSuppressOnReject](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#autosuppressonreject) : `bool` `get; set` -- Gets or sets a value indicating whether permanently rejected recipients are added to the suppression list.
- [BlobFileSystemPath](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobfilesystempath) : `string` `get; set` -- Gets or sets the filesystem storage path.
- [BlobProvider](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobprovider) : `string?` `get; set` -- Gets or sets the storage backend for attachments, either s3 or filesystem.
- [BlobS3AccessKey](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3accesskey) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the S3 access key.
- [BlobS3Bucket](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3bucket) : `string?` `get; set` -- Gets or sets the S3 bucket name.
- [BlobS3Endpoint](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3endpoint) : `string?` `get; set` -- Gets or sets the S3-compatible endpoint.
- [BlobS3PathStyle](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3pathstyle) : `bool` `get; set` -- Gets or sets a value indicating whether S3 path-style addressing is used.
- [BlobS3Region](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3region) : `string` `get; set` -- Gets or sets the S3 region.
- [BlobS3SecretKey](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3secretkey) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the S3 secret key.
- [BlobS3UseSsl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#blobs3usessl) : `bool` `get; set` -- Gets or sets a value indicating whether S3 storage uses TLS.
- [CorsOrigins](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#corsorigins) : `string` `get; set` -- Gets or sets the comma-separated allowed CORS origins.
- [DatabaseUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#databaseurl) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets a PostgreSQL connection string parameter that overrides individual database settings.
- [DevMode](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#devmode) : `bool` `get; set` -- Gets or sets a value indicating whether Posta stores emails without sending them.
- [EmailVerificationRequired](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#emailverificationrequired) : `bool` `get; set` -- Gets or sets a value indicating whether users must verify their email address before sign-in.
- [EmailVerifyCacheTtlHours](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#emailverifycachettlhours) : `int` `get; set` -- Gets or sets how long address-level verification results are cached, in hours.
- [EmailVerifyEnabled](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#emailverifyenabled) : `bool` `get; set` -- Gets or sets a value indicating whether the email verification endpoint is enabled.
- [EmailVerifyMxCacheTtlHours](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#emailverifymxcachettlhours) : `int` `get; set` -- Gets or sets how long domain MX lookups are cached, in hours.
- [EmailVerifyRateHourly](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#emailverifyratehourly) : `int` `get; set` -- Gets or sets the per-user hourly cap on verification requests.
- [EmbeddedWorker](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#embeddedworker) : `bool` `get; set` -- Gets or sets a value indicating whether the worker runs in the server process.
- [EncryptionKey](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#encryptionkey) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the AES-256-GCM encryption key for stored SMTP passwords.
- [Environment](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#environment) : `string` `get; set` -- Gets or sets the Posta environment name.
- [GoogleOAuthClientId](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#googleoauthclientid) : `string?` `get; set` -- Gets or sets the Google OAuth client ID for SSO login.
- [GoogleOAuthClientSecret](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#googleoauthclientsecret) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the Google OAuth client secret for SSO login.
- [InboundEnabled](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundenabled) : `bool` `get; set` -- Gets or sets a value indicating whether inbound email processing is enabled.
- [InboundHostname](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundhostname) : `string` `get; set` -- Gets or sets the hostname announced in EHLO and used as TLS SNI.
- [InboundMaxAttachSize](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundmaxattachsize) : `int` `get; set` -- Gets or sets the maximum inbound attachment size in bytes.
- [InboundMaxMessageSize](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundmaxmessagesize) : `int` `get; set` -- Gets or sets the maximum raw inbound message size in bytes.
- [InboundSmtpHost](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundsmtphost) : `string` `get; set` -- Gets or sets the bind address for the built-in SMTP receiver.
- [InboundSmtpPort](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundsmtpport) : `int` `get; set` -- Gets or sets the SMTP listener port.
- [InboundSmtpRateLimit](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundsmtpratelimit) : `int` `get; set` -- Gets or sets the per-IP SMTP session rate limit.
- [InboundSmtpRateWindow](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundsmtpratewindow) : `int` `get; set` -- Gets or sets the SMTP rate-limit window in seconds.
- [InboundTlsCertFile](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundtlscertfile) : `string?` `get; set` -- Gets or sets the PEM certificate path for inbound TLS.
- [InboundTlsKeyFile](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundtlskeyfile) : `string?` `get; set` -- Gets or sets the PEM key path for inbound TLS.
- [InboundTlsMode](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundtlsmode) : `string` `get; set` -- Gets or sets the inbound SMTP TLS mode: none or starttls.
- [InboundWebhookSecret](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#inboundwebhooksecret) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the shared secret for inbound webhooks.
- [MetricsEnabled](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#metricsenabled) : `bool` `get; set` -- Gets or sets a value indicating whether Prometheus metrics are enabled.
- [OAuthCallbackUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#oauthcallbackurl) : `string?` `get; set` -- Gets or sets the OAuth callback base URL.
- [OpenApiDocs](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#openapidocs) : `bool` `get; set` -- Gets or sets a value indicating whether Swagger UI and ReDoc are enabled.
- [PlanEnforcement](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#planenforcement) : `bool` `get; set` -- Gets or sets a value indicating whether hosted plan limits and quotas are enforced.
- [RateLimitDaily](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#ratelimitdaily) : `int` `get; set` -- Gets or sets the maximum emails per day per user.
- [RateLimitHourly](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#ratelimithourly) : `int` `get; set` -- Gets or sets the maximum emails per hour per user.
- [RedisAddress](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#redisaddress) : `string?` `get; set` -- Gets or sets an external Redis address in the form host:port.
- [RedisDatabase](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#redisdatabase) : `int` `get; set` -- Gets or sets the Redis database number.
- [RedisPassword](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#redispassword) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets a Redis password parameter that overrides the referenced Redis resource password.
- [RedisUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#redisurl) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets a Redis URL that overrides individual Redis settings.
- [RedisUsername](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#redisusername) : `string?` `get; set` -- Gets or sets the Redis username.
- [SmtpRelayEnabled](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayenabled) : `bool` `get; set` -- Gets or sets whether the authenticated SMTP relay is enabled.
- [SmtpRelayHost](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayhost) : `string` `get; set` -- Gets or sets the SMTP relay bind address.
- [SmtpRelayHostname](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayhostname) : `string` `get; set` -- Gets or sets the hostname announced by the SMTP relay.
- [SmtpRelayMaxMessageSize](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelaymaxmessagesize) : `int` `get; set` -- Gets or sets the SMTP relay maximum message size in bytes.
- [SmtpRelayPort](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayport) : `int` `get; set` -- Gets or sets the SMTP relay listener port.
- [SmtpRelayRateLimit](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayratelimit) : `int` `get; set` -- Gets or sets the SMTP relay per-IP session rate limit.
- [SmtpRelayRateWindow](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#smtprelayratewindow) : `int` `get; set` -- Gets or sets the SMTP relay rate-limit window in seconds.
- [SystemSmtpEncryption](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtpencryption) : `string` `get; set` -- Gets or sets the system SMTP encryption mode: none, ssl, or starttls.
- [SystemSmtpFrom](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtpfrom) : `string?` `get; set` -- Gets or sets the system SMTP from address.
- [SystemSmtpHost](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtphost) : `string?` `get; set` -- Gets or sets the system SMTP server host used for platform notifications.
- [SystemSmtpPassword](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtppassword) : `IResourceBuilder<ParameterResource>` `get; set` -- Gets or sets the system SMTP password.
- [SystemSmtpPort](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtpport) : `int` `get; set` -- Gets or sets the system SMTP server port.
- [SystemSmtpUsername](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#systemsmtpusername) : `string?` `get; set` -- Gets or sets the system SMTP username.
- [UpdateCheck](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#updatecheck) : `bool` `get; set` -- Gets or sets whether Posta checks GitHub for new releases.
- [WebDir](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#webdir) : `string?` `get; set` -- Gets or sets the Vue dashboard build directory.
- [WebhookMaxRetries](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#webhookmaxretries) : `int` `get; set` -- Gets or sets the maximum webhook delivery retry attempts.
- [WebhookProxyUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#webhookproxyurl) : `string?` `get; set` -- Gets or sets the optional HTTP, HTTPS, or SOCKS5 proxy for webhook delivery.
- [WebhookTimeoutSeconds](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#webhooktimeoutseconds) : `int` `get; set` -- Gets or sets the webhook HTTP request timeout in seconds.
- [WebUrl](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#weburl) : `string?` `get; set` -- Gets or sets the public dashboard URL.
- [WorkerConcurrency](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#workerconcurrency) : `int` `get; set` -- Gets or sets the number of worker goroutines.
- [WorkerMaxRetries](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#workermaxretries) : `int` `get; set` -- Gets or sets the maximum email retry attempts.
- [WorkspaceOnlyMode](/reference/api/csharp/communitytoolkit.aspire.hosting.posta/postaoptions/properties.md#workspaceonlymode) : `bool` `get; set` -- Gets or sets whether users must operate within workspaces.
