Last active
June 17, 2020 10:24
-
-
Save snnwolf/f80a659fb4a3dc91b69d52dde69ada8d to your computer and use it in GitHub Desktop.
Revisions
-
snnwolf revised this gist
Jan 23, 2018 . 1 changed file with 9 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,7 @@ * [$html] отправить в виде html, если не задан, останется текст * $address строка адресов через "," * $subject * [$subject_prefix] префикс для сообщения напр, "[site_name] Вам письмо" * $message * [$filepath] прикрепить файл, если указан * [$filename] имя файла, если указан $filepath @@ -15,6 +16,9 @@ $modx->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 = '[Без темы]'; } @@ -36,7 +40,11 @@ } /*Заголовок сообщения*/ $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')); -
snnwolf created this gist
Jan 23, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,76 @@ <?php // взято здесь https://ilyaut.ru/reposts/sending-mail-through-modmail/ /** * Перед использованием установить переменные: emailsender, site_name * Опции: * [$html] отправить в виде html, если не задан, останется текст * $address строка адресов через "," * $subject * $message * [$filepath] прикрепить файл, если указан * [$filename] имя файла, если указан $filepath * [$return] вовзращать результат работы сниппета */ if (empty($address)) { $modx->log(modX::LOG_LEVEL_ERROR,'sendMail: empty address'); return '[email: noaddress]'; } 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($_)); } } /*Заголовок сообщения*/ $modx->mail->set(modMail::MAIL_SUBJECT, $subject); /*Подставляем чанк с телом письма (предварительно его нужно создать)*/ $modx->mail->set(modMail::MAIL_BODY, $message);//$modx->getChunk('myEmailTemplate')); /*Отправляем*/ if (!empty($html)) { $modx->mail->setHTML(true); } // с формы: // <input id="upfile" type="file" name="photo" value="[[!+fi.photo]]" /> // в сниппете // $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]'; }