log(modX::LOG_LEVEL_ERROR,'sendMail: empty address'); return '[email: noaddress]'; } if (!isset($subject_prefix)) { $subject_prefix = sprintf('[%s]', $modx->getOption('site_name')); } if (empty($subject)) { $subject = '[Без темы]'; } if (empty($message)) { $message = '[Пустое сообщение]'; } /*Активируем почтовый сервис MODX*/ $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name')); /*Адрес получателя нашего письма*/ $address = explode(',', $address); if (is_array($address)) { foreach($address as $_) { $modx->mail->address('to', trim($_)); } } /*Заголовок сообщения*/ $full_subject = $subject; if ($subject_prefix) { $full_subject = $subject_prefix . " " . $subject; } $modx->mail->set(modMail::MAIL_SUBJECT, $full_subject); /*Подставляем чанк с телом письма (предварительно его нужно создать)*/ $modx->mail->set(modMail::MAIL_BODY, $message);//$modx->getChunk('myEmailTemplate')); /*Отправляем*/ if (!empty($html)) { $modx->mail->setHTML(true); } // с формы: // // в сниппете // $file = $_FILES['photo']['tmp_name']; // путь к файлу // $name = $_FILES['photo']['name']; // имя файла // прикрепляем файл if ($filepath) { if (!is_file($filepath)) { $modx->log(modX::LOG_LEVEL_ERROR, sprintf('sendMail: Файл %s не найден', $filepath)); } else { if (empty($filename)) { $filename = 'noname-file'; } $modx->mail->attach($filepath, $filename); } } if (!$modx->mail->send()) { //var_dump($modx->mail->mailer->ErrorInfo); $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo); if ($return) { return '[email:fail]'; } } $modx->mail->reset(); if ($return) { return '[email:ok]'; }