Codeunit 8999 "Email Rate Limit Impl."
System Application · System.Email
Across versions
- BC23-25present
- BC268 procedures added
- BC27-30unchanged
Neighbourhood 5 connected objects and pages
System Application · System.Email · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Email Rate Limit” = rimd, tabledata “Email Account” = r, tabledata “Email Outbox” = r, tabledata “Sent Email” = r |
Procedures
RegisterRateLimit(var EmailRateLimit: Record "Email Rate Limit"; RegisteredAccount: Record "Email Account"; RateLimit: Integer)UpdateRateLimit(RegisteredAccount: Record "Email Account")IsRateLimitExceeded(AccountId: Guid; Connector: Enum "Email Connector"; EmailAddress: Text[250]; var RateLimitDuration: Duration): BooleanIsConcurrencyLimitExceeded(AccountId: Guid; Connector: Enum "Email Connector"; EmailAddress: Text[250]): Boolean+ BC26GetEmailOutboxCurrentProcessingCountDuringPastOneHour(AccountId: Guid): Integer+ BC26 (internal): Returns the current count of emails in the outbox that are being processed for current user within the past 1 hour.GetRateLimit(AccountId: Guid; Connector: Enum "Email Connector"; EmailAddress: Text[250]): IntegerGetConcurrencyLimit(AccountId: Guid; Connector: Enum "Email Connector"; EmailAddress: Text[250]): Integer+ BC26GetMaxRetryLimit(AccountId: Guid; Connector: Enum "Email Connector"; EmailAddress: Text[250]): Integer+ BC26GetDefaultConcurrencyLimit(): Integer+ BC26 (internal)
Plus 3 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 8900 “Email Impl” (1 call:
IsRateLimitExceeded → GetEmailOutboxSentEmailWithinRateLimit)
Called by
- Page 8887 “Email Accounts” (3 calls:
OnAfterGetRecord → GetConcurrencyLimit,OnAfterGetRecord → GetMaxRetryLimit,OnAfterGetRecord → GetRateLimit) - Codeunit 8888 “Email Dispatcher” (2 calls:
OnRun → IsConcurrencyLimitExceeded,OnRun → IsRateLimitExceeded) - Codeunit 1597 “Email Upgrade” (1 call:
SetDefaultEmailMaxConcurrencyLimit → GetDefaultConcurrencyLimit) - Codeunit 8887 “Email Test Mail” (1 call:
OnRun → IsRateLimitExceeded)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Email Rate Limit Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.