Данный плагин позволяет при добавлении новости делать ее автоматическую рассылку подписчикам, которые добавились через форму EasyNewsletter.

Код плагина:
$e =& $modx->Event;

if ($e->name == 'OnDocFormSave'){
     if ($_REQUEST['parent'] == $parent && intval($parent) > 0){
         
         
          $tbl_kat = "easynewsletter_categories";
          $tbl_sbscr = "easynewsletter_subscribers";
          $tbl_config = "easynewsletter_config";
         
          $newsletter_header = '';
          $newsletter_subject = $_REQUEST['pagetitle'];
          $newsletter_newsletter = $_REQUEST['ta'];
          $newsletter_footer = '';
         
          $sql = "SELECT * FROM $tbl_config WHERE `id` = 1";
          $result = $modx->db->query($sql);
          $row = $modx->db->getRow($result);
          $mailmethod = $row["mailmethod"];
          $smtp = $row["smtp"];
          $fromname = stripslashes($row["sendername"]);
          $from = $row["senderemail"];
          $auth = $row["auth"];
          $authuser = $row["authuser"];
          $authpassword = $row["authpassword"];
              
          include_once MODX_BASE_PATH."/manager/includes/controls/class.phpmailer.php";
          $sql = "SELECT email,firstname FROM $tbl_sbscr WHERE `cat_id` = $cat ORDER BY email ASC";
          $ar = $modx->db->makeArray($modx->db->query($sql));
         
          $i=0;
          $sentsuccess=0;
         
          $hand = fopen(MODX_BASE_PATH."/assets/modules/easynewsletter/logs/".date('d-m-Y H_i_s').".csv","w");
          if(fwrite($hand,iconv("utf-8","windows-1251", $newsletter_subject." (проведенная рассылка)\nДата проведения: ".date('d-m-Y в H:i:s')."\n"))){
               foreach ($ar as $eml){
                    $mail = new PHPMailer();
                    if ($mailmethod == IsMail) {
                         $mail->IsMail();
                    }
                    if ($mailmethod == IsSMTP) {
                         $mail->IsSMTP();
                         $mail->Host = $smtp;
                         if ($auth == 'true') {
                              $mail->SMTPAuth = true;
                              $mail->Username = $authuser;
                              $mail->Password = $authpassword;
                         } else {
                              $mail->SMTPAuth = false;
                         }
                    }
                    if ($mailmethod == IsSendmail) {
                         $mail->IsSendmail();
                    }
                    if ($mailmethod == IsQmail) {
                         $mail->IsQmail();
                    }
                    $mail->CharSet = $modx->config['modx_charset'];
                    $mail->From          = $from;
                    $mail->FromName     = $fromname;
                    $mail->Subject     = $newsletter_subject;
                    $mail->Body          = $newsletter_newsletter;
                    $mail->AltBody     = $newsletter_newsletter;
                    $mail->AddAddress($eml['email']);
                    if(!$mail->send()) {
                         $out .=  $lang['newsletter_sending_done4'];
                              return 'Main mail: ' . $_lang['ef_mail_error'] . $mail->ErrorInfo;
                    } else {
                         $string = ($i+1).";".$eml['email'].";".$eml['firstname']."\n";
                         fwrite($hand,iconv("utf-8","windows-1251",$string));
                        
                         $sentsuccess++;
                    }
                    $i++;
               }
          }
          else{
               return "Запись в файл не удалась. И отправка тоже =(. Проверьте папку easynewsletter/logs на существование и запись";
          }
          fclose($hand);
     }
}


Конфигурация (здесь указываете свои значения родительского ресурса, в котором сохраняются документы для автоматической отправки и ID категории рассылки из настройки EasyNewsletter):
&parent=ID папки;int;5 &cat=ID катег. рассылки;int;2


Событие:
OnDocFormSave