\Marketing\EmailMarketing
Templating
Global Functions
Website
\Components\Website\Designs \Components\Website\Media \Components\Website\Pages \Components\Website\Pages\Forms \Components\Website\Posts \Components\Website\Posts\Categories
Customers
\Components\Customers\Contacts \Components\Customers\Contacts\Relationships \Components\Customers\Contacts\Relationships\Types \Components\Customers\Groups
Marketing
\Components\Marketing\EmailMarketing
METHODS
\Components\Marketing\Events \Components\Marketing\Events\Attendees \Components\Marketing\Events\Categories \Components\Marketing\Events\Locations \Components\Marketing\Events\Recurring \Components\Marketing\Events\Recurring\Rules \Components\Marketing\SMSMarketing
Commerce
\Components\Commerce\Carts \Components\Commerce\Carts\Current \Components\Commerce\Discounts \Components\Commerce\Products \Components\Commerce\Products\Brands \Components\Commerce\Products\Categories \Components\Commerce\Products\Inventory \Components\Commerce\RecurringSales\Items \Components\Commerce\Sales \Components\Commerce\Sales\Items \Components\Commerce\Sales\Receipts \Components\Commerce\Sales\Receipts\Allocations
Settings
\Components\Settings\Administrators \Components\Settings\CustomFields \Components\Settings\Domains
Other Apps
\Components\Website\Comments \Components\Commerce\Affiliates \Components\Commerce\Affiliates\Administrators \Components\Commerce\Affiliates\Commissions \Components\Commerce\Affiliates\Payments \Components\Commerce\RecurringSales \Components\Commerce\RecurringSales\StoredCards
Framework
\Framework\Caching \Framework\Data\Util \Framework\DOM\CurrentContext \Framework\HTML\Converters \Framework\HTTP\Cookies \Framework\HTTP\Redirection \Framework\HTTP\Request \Framework\HTTP\Session \Framework\HTTP\TabState \Framework\HTTP\UserAgent \Framework\I18N\CompanyTypes \Framework\I18N\Countries \Framework\I18N\Languages

EmailMarketing

Use this API to create, update and delete e-mail marketing messages.

Methods

Invoke via \Components\Marketing\EmailMarketing::method()
Click a method name to copy it.
- ` bool currentCanViewWebVersion($iMessageId) `
Returns whether the current visitor may view the web version of a message (/community/email/{id}/)

Administrators always can. Anyone can once it has been sent to all contacts. Otherwise it must have been sent to the current contact — identified by login or by the tracking cookie set when a tracked email link is clicked.
Parameters:
- $iMessageId
mixed
Return
bool
- ` \Iterator dbGetAllIterable($arrQuery) `
Returns the raw rows dbGetAll() would return as an iterator, without building them all into an array

The dbGetAll() counterpart of getAllIterable(), for scans over every stored row of a large table (eg: the site-wide content scans in \Framework\Developer\Refactoring). Rows are as stored - JSON fields are not decoded - and are not entity-cached. Because it bypasses getAll(), components that override getAll() are iterated; search queries and components overriding dbGetAll() are refused.
Parameters:
- $arrQuery
mixed
Return
- ` array fieldsGetAll($bCached) `
Returns all the columns this component supports
Parameters:
- $bCached
mixed
Return
array
- ` bool delete($iEmailMessageId, $bDeleteMedia) `
Deletes a record from the database
Parameters:
- $iEmailMessageId
int
A record's email_message_id
- $bDeleteMedia
mixed
Return
Returns true if record existed and was deleted, otherwise false
- ` array get($iEmailMessageId) `
Gets a record from the database
Parameters:
- $iEmailMessageId
int
A record's email_message_id
- ` array getAll($arrQuery) `
Return a set of records from the database
Parameters:
- $arrQuery
mixed
Return
Array of EmailMarketings
- ` \Iterator getAllIterable($arrQuery) `
Returns the entities getAll() would return as an iterator, without building them all into an array

For result sets too large to hold as arrays (eg: every recipient of a marketing send) - only the database driver's compact buffer of the result is held, a fraction of getAll()'s memory. Runs the same SQL as getAll(), and runs it now, as getAll() would; rows are decoded as you iterate.
Search queries are not supported, rows are not entity-cached, and components that override getAll() or dbGetAll() (eg: merging in defaults) are refused rather than iterated without their extra rows.
Parameters:
- $arrQuery
mixed
Return
- ` mixed getColumn($iEmailMessageId, $strColumn) `
Gets a single field from a record
Parameters:
- $iEmailMessageId
int
A record's email_message_id
- $strColumn
mixed
Return
mixed
- ` int getCount($arrFilter) `
Returns the number of records in the database (matching the filter if specified)
Parameters:
- $arrFilter
mixed
Return
int
- ` int getCurrentId() `
Returns the currently sending message id
Return
or NULL when not currently sending
- ` string getCurrentURL() `
Returns a link to the currently sending message

Useful for linking to a "View Online" function inside an email.
Return
URL of email preview
- ` int resolveDesignId($iDesignId) `
Resolve an e-mail design, falling back to the configured e-mail design or No Design.
Parameters:
- $iDesignId
mixed
Return
int
- ` string|int save($arrEntity) `
Saves a record into the database
Parameters:
- $arrEntity
mixed
Return
string|int
- ` void saveColumn($iEmailMessageId, $strColumn, $strValue) `
Saves a specific column of a row into a database
Parameters:
- $iEmailMessageId
int
A record's email_message_id
- $strColumn
mixed
- $strValue
mixed
- ` array search($strSearch, $arrQuery) `
Performs a search
Parameters:
- $strSearch
mixed
- $arrQuery
mixed
Return
Array of EmailMarketings that match the search query.

Database Fields

The following fields are used when retrieving and saving entities:
- `email_message_id`
int (11)
- `email_message_type`
Default value: broadcast
- `email_message_datetime`
datetime
Default value: current_timestamp()
- `email_message_subject`
string (127)
- `email_message_content_html`
string (16777215)
- `email_message_css`
string (16777215)
- `email_message_content_plaintext`
string (16777215)
- `email_message_content_plaintext_only`
0 or 1
- `email_message_content_plaintext_autogenerate`
0 or 1
Default value: 1
- `email_message_from_address`
string (255)
- `email_message_from_name`
string (255)
- `email_message_reads_tracked`
0 or 1
Default value: 1
- `email_message_links_tracked`
0 or 1
Default value: 1
- `email_message_links_login`
Default value: no
- `email_message_handle_bounces`
0 or 1
Default value: 1
- `design_id`
int (11)