Хорошая новость для тех, кому в IWE не хватало возможности отправки почты посредством SMTP. С сегодняшнего дня такая возможность в ядре таки появилась, благодаря чему почтовик стал работать несколько надежнее. Напомню, что ранее почта в IWE могла отправляться только при помощи функции mail, из-за чего при работе с IWE могли возникнуть трудности у тех клиентов, на серверах которых не настроена либо недоступна система sendmail. Теперь наличие sendmail больше не является обязательным требованием при установке IWE, вместо этого Вам будет предложено выбрать один из двух доступных методов отправки почты и указать дополнительную авторизационную информацию в случае выбора отправки почты посредством SMTP.
Теперь несколько примеров использования. Могу сказать, что свои продукты мы частенько тестируем на разнообразных бесплатных хостингах, где, как правило, на клиента накладывается наибольшее количество ограничений. Если на бесплатном хостинге все работает отлично, то беспокоится о работе на коммерческом хостинге вообще нет никаких причин. Естественно, практически на всех бесплатных хостингах возможность отправки посты скриптами отключена в целях защиты от рассылки спама с серверов хостинга автоматизированными скриптами, поэтому этот тест IWE уже много лет подряд успешно проваливала. Теперь данный тест, наконец, пройден, так как функцией отправки почты теперь можно пользоваться даже в том случае, если Ваш провайдер не предоставляет ни почты, ни возможности использования sendmail. Как? Вы можете использовать даже учетную запись Mail.Ru или любого другого бесплатного почтового сервиса при условии, что он предоставляет SMTP-сервер. Бесплатная почта, естественно, накладывает определенные ограничения на количество отправляемых сообщений и на частоту их отправки, однако это уже намного лучше, чем вообще ничего.
В качестве второго примера приведу наш блог. Он располагается на сервере нашего хостинг-партнера. Gmail для всех уведомлений, рассылаемых скриптом блога, указывает рядом с адресом отправителя «отправлено с домена blog.ibice.ru». Нам эта приписка не очень-то нравилась, так как некоторые пользователи, когда видят такую приписку, сразу воспринимают сообщение как либо спам, либо мошенническую подделку, однако сделать мы ничего не могли, так как приписка добавлялась бы в любом случае, как бы мы не переписывали скрипт почтовика. Избавиться от этой приписки можно только в случае использования SMTP с авторизацией. А кроме этого, в исходниках письма на Gmail можно увидеть, что перед приемом сервер Google проверяет SPF-политику домена и принимает ее во внимание при распределении входящих писем между папками для входящих и для спама. То есть, если в SPF-политике Вашего домена указано, что отправка почты с домена разрешена только с использованием конкретного SMTP-сервера, то письма, отправляемые с этого сервера, скорее всего не будут распознаны как спам (если, конечно, они не будут иметь каких-нибудь иных явных признаков спама). А еще вероятность попадания писем с Вашего сайта в папку для спама можно снизить, правильно настроив DKIM для домена, однако нам пока не удалось протестировать эту возможность, поскольку на нашем почтовом сервере DKIM не поддерживается, а наш хостинг-партнер, на этой неделе объявивший о включении на своих почтовых серверах DKIM, неожиданно данную штуковину отключил, лишив нас возможности опробовать все функции, при помощи которых можно сократить спам-рейтинг писем, рассылаемых с сайта при помощи нашего нового почтовика.
Поскольку SMTP, в отличие от sendmail, может возвратить ядру IWE проблему, по которой письмо не удалось отправить, мы добавили также функцию журналирования ошибок SMTP, которая будет записывать все ошибки в общий журнал ошибок IWE с типом «Kernel». Мы уже добавили подобную функцию для подключения к SQL-серверу, поэтому формат указания ошибки пришлось немного изменить. Так, к примеру, для ошибок SQL после «Kernel» указывается двоеточие, за которым следует номер ошибки SQL-сервера, и если мы так же поступим и с ошибками SMTP, то в итоге администраторы сайта просто не смогут различить ошибки, поэтому ошибки SMTP в IWE будут кодироваться специальными номерами, перед которыми будет указываться знак амперсанда. Список ошибок с расшифровкой я сейчас допишу в справочные материалы, которые Вы сможете найти на официальном сайте, но могу сказать сразу, что SMTP-протокола будут касаться все коды начиная с 1023 и заканчивая 1031 включительно. Добавлю также, что новый почтовик уже с сегодняшнего дня был включен в ядро IWE для WebEngine3, IWE:Blog и IWE:Docs.