Настройка почты и обеспечение необходимого функционала на сайте под управлением CMS Drupal, если к тому же необходимо использовать внешний почтовый сервер, осуществляется не сложно, но требует некоторой возни. Итак, по шагам.
Модуль, отправляющий почту в обход PHP mail через внешний SMTP сервер – SMTP Authentication Support https://drupal.org/project/smtp
Также для него и для почты нужен PHPMailer https://drupal.org/project/phpmailer, которому, в свою очередь, нужна библиотека PHPMailer library версии старше 5.2.5
https://github.com/PHPMailer/PHPMailer/tags.
Ставим и включаем оба модуля. Архив с библиотекой разворачиваем в папку libraries в подпапку phpmailer так, чтобы в корне этой папки оказался файл class.phpmailer.php. PHPMailer сразу предлагает настроить его – вверху страницы. Настраиваем. Настройки, например, для Gmail SMTP аккаунта следующие:
Сервер: smtp.gmail.com
Порт: 465
SSL: Опция включена
Для настройки отправки сообщений из контактной формы сайта – используем встроенный модуль ядра Contact.
Для отправки почты в формате HTML нужен модуль Mime Mail https://drupal.org/project/mimemail
А модуль Personalized E-mails – пригодится для настройки имени пользователя в данных отправителя.
Следует обратить серьезное внимание, что сервера Google по умолчанию не разрешают использовать себя для отправки сообщений со сторонних сайтов, поэтому сначала ваше письмо не пройдет и будет заблокировано SMTP сервером Google. А в вашем почтовом ящике появится письмо похожего содержания:
Здравствуйте, User! Недавно кто-то пытался войти в Ваш аккаунт Google [mail@gmail.com], но мы не дали ему это сделать. Информация о событии Дата и время: 7 Февраль 2013 г. 14:32:52 UTC Страна: неизвестна Если это были не Вы, перейдите на страницу https://security.google.com/settings/security/activity и проверьте, все ли действия в аккаунте были выполнены Вами. Предупреждаем, что Ваш пароль стал известен другим пользователям. Измените его как можно скорее. Если это были Вы Мы рекомендуем использовать для входа в аккаунт приложения, разработанные Google (например, Gmail). Также Вы можете отключить некоторые настройки безопасности на странице https://www.google.com/settings/security/lesssecureapps. Однако в этом случае защита Вашего аккаунта станет менее надежной. Для более подробной информации перейдите на https://support.google.com/accounts/answer/6010255. С уважением, команда Google Аккаунтов
Затем вам нужно пройти по ссылке и разрешить использовать SMTP сервер Doogle вашему сайту.
В отличие от популярного движка WordPress, где все деалется само, Drupal чаще позиционируется не как CMS, а как CMF, т.е. среда разработки высокого уровня с модульной труктурой, напоминающая конструктор. В Drupal нет в явном виде такой простой и обыденной функции, как отправка администратору уведомления о появлении нового комментария. Однако, даже в типовой поставке есть все средства для организации такого функционала.
Если вы хотите получать на почту уведомления о новых комментариях, которые оставляют пользователи на сайте, нужно включить системный модуль Trigger.
Затем на странице “Сложные действия” выбираем “Отправить почту..” admin/settings/actions и создаем действие “Отправить почту при появлении нового комментария”
Укажем e-mail на который должны приходить уведомления, текст сообщения и другую необходимую информацию.
В тексте сообщения пишем, например, так:
Посетитель: [comment:name]. IP: [comment:hostname]. Адрес электронной почты [comment:mail]. Статья: "[comment:node:title]". URL страницы: [comment:node:url]) --------------------------------------------------------------------------- Комментарий: [comment:body]
Действие готово. На странице admin/build/trigger/comment назначаем это действие событию “Сохранение нового комментария”.
Дальше идем в настройки триггера и на вкладке “Комментарий” назначаем созданное действие на события “После сохранения нового комментария”: выбираем из списка только что созданное действие и нажимаем кнопку “Назначить”.
Теперь почта будет работать и вам в почтовый ящик будут приходить уведомления обо всех комментариях на вашем сайте.