Jump to main content Jump to doc navigation

Eletters API

New in version 1.1 are easy API to create your own Triggers to send out emails via an action of the user or through your own snippet/extra.

Snippet Code example

Snippet Example, found at: core/components/eltters/elements/snippets/elettertriggerexample.snippet.php

<?php
/**
 * Eletter Trigger/Response code example snippet
 * @return (String) $html
 *
 *
 * This example will just email the MODX User on page load
 *
 */

if (!isset($modx->eletters)) {
    $modx->addPackage('eletters', $modx->getOption('core_path').'components/eletters/model/');
    $modx->eletters = $modx->getService('eletters', 'Eletters', $modx->getOption('core_path').'components/eletters/model/eletters/');
}
$eletters =& $modx->eletters;

$profile = $modx->user->getOne('Profile');
$to = $to_name = '';
if ( is_object($profile) ) {
    $to = $profile->get('email');
    $to_name = $profile->get('fullname');
} else {
    return 'Cannot find MODX user';
}

$options = array(
    'to_address' => $to,
    'to_name' => $to_name,
    'EResourceID' => 10,
);

$placeholders = $profile->toArray();

/**
 *
 * @param (Array) $options  - name=>value ex: for auto response form_address=Fname Lname
 *              'from_address' => '',
                'from_name' => '',
                'to_address' => '',
                'to_name' => '',
                'cc_address' => '',
                'cc_name' => '',
                'bcc_address' => '',
                'bcc_name' => '',
                'reply_to_address' => '',
                'reply_to_name' => '',
                'ishtml' => TRUE,
                'NewsletterID' => '',
                'EResourceID' => '',
                'uploads' => TRUE,
                'files' => TRUE,
 * @param (Array) $placeholders - MODX placehoders -name=>value
 * @param (Boolean) $log - TRUE will save completed email to DB
 * @param (Array) $attachments - add addtional attachments
 */

$sent = $eletters->sendResponse($options, $placeholders, $log=TRUE);

$output = '';
if ( $sent ) {
    $output = 'An email was sent to '.$to_name.' at '.$to.' email address.';
} else  {
    $output = 'An email could not be sent to '.$to_name.' at '.$to.' email address.';
}

return $output;

See Also

  1. Eletters.API
  2. Eletters.FormIt
  3. Eletters.Import CSV
  4. Eletters.Templates

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Digital Penguin
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • Following Sea
  • Anton Tarasov
  • eydolan
  • Raffy
  • Lefthandmedia
  • Murray Wood
  • Snow Creative
  • Nick Clark
  • Helen
  • JT Skaggs
  • krisznet
  • YJ
  • Yanni
  • Richard

Budget

$366 per month—let's make that $500!

Learn more