| Автор |
Сообщение |
|
Wave
|
Заголовок сообщения: Плагин SMTP mail Добавлено: 11 сен 2009, 19:40 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
SMTP mail версии 0.2. С появлением хука 'mail' появилась возможность использовать для отправки почты не только стандартную php-функцию mail(), но и sendmail и SMTP сервер. - Плагин позволяет отправлять почту с сайта, используя SMTP сервер.
- Требуется MaxSite версии после 0.34.
- Натройки плагина появляются в списке плагинов после включения. Т.е. используются админские опции.
- Пароль от SMTP сервера хранится в базе в открытом виде.
- В версии 0.2 добавлена возможность отправлять почту через Sendmail, а также через php-функцию mail(). Во втором случае плагин не отличается от стандартной возможности системы, однако на будущее будет возможность слать аттачи.
Пожелания принимаются. Скачать можно всё там же.
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 15 сен 2009, 23:26 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
SMTP mail версии 0.3. Добавил возможность отправлять файлы. Чтобы задействовать эту возможность, нужно вызывать функцию mso_mail() так: Код: mso_mail($email, $subject, $text_email, $contact_mail, array('attach' => getinfo('uploads_dir'). 'temp/send.zip')); Это может быть вызов в contact.php шаблона (например, чуть-чуть изменить файл для того, чтобы посетители могли отправлять вам файлы), это может быть вызов функции в вашем собственном плагине… И так далее. Можно реализовать дамп базы по крону и отсылку на e-mail  Требуется МаксСайт не ниже версии 0.352. В дальнейшем думаю приделать заглушку, чтобы плагин мог не отправлять письма, а складывать их где-то в uploads — нужно ли это кому-то? Скачать можно всё там же.
|
|
 |
|
 |
|
zengarden
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 сен 2009, 02:22 |
|
Зарегистрирован: 27 июн 2009, 00:47 Сообщения: 66
|
Цитата: В дальнейшем думаю приделать заглушку, чтобы плагин мог не отправлять письма, а складывать их где-то в uploads — нужно ли это кому-то? Возможно. Письма-то не всегда доходят.
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 сен 2009, 13:17 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
|
Тогда там же версия 0.4 — дополнительная настройка для сохранения писем в uploads/настраиваемо.
Сохраняется с именем текущей даты-времени с расширением html, т.е. прямо из uploads можно посмотреть или удалить. Аттачи не сохраняет, думаю, незачем.
|
|
 |
|
 |
|
lokee
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 сен 2009, 19:30 |
|
Зарегистрирован: 01 фев 2009, 21:15 Сообщения: 39 Откуда: ukraine
|
Wave писал(а): С появлением хука 'mail' появилась возможность использовать для отправки почты не только стандартную php-функцию mail(), но и sendmail и SMTP сервер.
А через smtp гугля почту будет отправлять (т.е. как обстоят дела с ssl соединением) ?
_________________ Я не люблю ні галасу, ані крику Коли не в свої справи люди пхнуть пику... (с) Бумбокс
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 сен 2009, 20:47 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
|
SSL не поддерживается. Соответственно, gmail даже не стал проверять. Если очень нужно, на следующей неделе возвращаюсь, посмотрю, что можно сделать.
|
|
 |
|
 |
|
lokee
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 сен 2009, 22:49 |
|
Зарегистрирован: 01 фев 2009, 21:15 Сообщения: 39 Откуда: ukraine
|
Wave писал(а): SSL не поддерживается. Соответственно, gmail даже не стал проверять. Если очень нужно, на следующей неделе возвращаюсь, посмотрю, что можно сделать. А делать-то нужно совсем чуть-чуть  Добавить Код: $config['newline']="\r\n"; в функции smtp_mail_custom и всё, почту через гмыло отправляет на ура (нагуглил решение тут)  я не знаю как это повлияет на "обычные" смтп (не проверял). Wave, спасибо за создание спасательного круга для пользователей фриварных говнохостингов 
_________________ Я не люблю ні галасу, ані крику Коли не в свої справи люди пхнуть пику... (с) Бумбокс
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 16 окт 2009, 00:48 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
|
Версия 0.5. + Поддержка Gmail. + Возможность отключить отправку почты (например, только складировать в uploads). Имейте в виду, при этом появляется проблема с регистрацией комментаторов. * При складировании в uploads письма, которые не отправились из-за ошибки, получают приставку «!error-not-sent-», а если снята опция отправки — «!not-sent-».
Думаю о том, как добавить логирование ошибок без создания отдельной странички плагина и без заранее известного адреса файла, который может посмотреть кто угодно.
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 20 окт 2009, 17:32 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
На конкурсном сайте заканчивается конкурс, поэтому комментарии там валятся тоннами. Обнаружил четыре !error-not-sent-2009-10-20--чч-мм-сс.html Всерьёз задумался о логировании ошибок отправки. Выложил версию 0.6 ( там же), которая, если есть опция сохранения писем в uploads, при ошибках отправки добавляет туда же (в сохраняемые в uploads html'ки) дебаг-лог. Это оказался самый простой вариант.
|
|
 |
|
 |
|
Wave
|
Заголовок сообщения: Re: Плагин SMTP mail Добавлено: 20 окт 2009, 20:42 |
|
| Модератор |
 |
Зарегистрирован: 01 фев 2009, 16:38 Сообщения: 1080 Откуда: Харьков
|
Код: $options = mso_get_option('plugin_smtp_mail', 'plugins', array() );
if (!isset($options['to_email'])) $options['to_email'] = 1; $sent = '!not-sent-'; $res = false;
if ($options['to_email'] == 1) { $res = $CI->email->send(); $debug = ''; if (!$res) { $debug = '<div>' . $CI->email->print_debugger() . '<div>'; echo $debug; $sent = '!error-not-sent-'; } else { $sent = ''; } }
if ( isset($options['to_uploads']) and ($options['to_uploads'] == 1) ) { $to_save = getinfo('uploads_dir') . ( (isset($options['uploads_subfolder']))?(trim($options['uploads_subfolder']).'/'):('') ) . $sent . strftime("%Y-%m-%d--%H-%M-%S", time()) . '.html'; write_file($to_save, $text); } Кто подскажет, почему на этих условиях иногда могут письма сохраняться с приставкой !not-sent- при неизменных настройках: отсылать и сохранять? !error-not-sent- пока ни разу не сработал с тех пор, как добавил логирование.
|
|
 |
|
 |
|