web2py включает в себя функции отправки электронной почты и SMS пользователю. Он использует библиотеки для отправки электронных писем и смс.
Настройка электронной почты
Встроенный класс, а именно gluon.tools.Mail класс, используется для отправки электронной почты в рамках web2py. Почтовик может быть определен с этим классом.
from gluon.tools import Mail mail = Mail() mail.settings.server = 'smtp.example.com:25' mail.settings.sender = '[email protected]' mail.settings.login = 'username:password'
Электронное письмо отправителя, указанное в приведенном выше примере, вместе с паролем будет проверяться каждый раз при отправке электронного письма.
Если пользователю необходимо поэкспериментировать или использовать для какой-либо цели отладки, это может быть достигнуто с помощью следующего кода.
mail.settings.server = 'logging'
Теперь все письма не будут отправлены, но они будут зарегистрированы в консоли.
Отправка электронной почты
После того, как мы установили параметры конфигурации для электронной почты, используя почтовый объект, электронное письмо может быть отправлено многим пользователям.
Полный синтаксис mail.send () следующий:
send( to, subject = 'Abc', message = 'None', attachments = [], cc = [], bcc = [], reply_to = [], sender = None, encoding = 'utf-8', raw = True, headers = {} )
Реализация mail.send () приведена ниже.
mail.send( to = ['[email protected]'], subject = 'hello', reply_to = '[email protected]', message = 'Hello ! How are you?' )
Mail возвращает логическое выражение, основанное на ответе почтового сервера, что почта получена конечным пользователем. Он возвращает True, если ему удается отправить электронное письмо пользователю.
Атрибуты, cc и bcc включают в себя список действительных адресов электронной почты, для которых предполагается отправлять почту.
Отправка смс
Реализация для отправки SMS-сообщений отличается от отправки электронной почты в рамках web2py, поскольку для этого потребуется сторонняя служба, которая может передавать сообщения получателю. Сторонний сервис не является бесплатным и, очевидно, будет отличаться в зависимости от географического региона (от страны к стране).
web2py использует модуль, чтобы помочь отправлять SMS со следующим процессом —
from gluon.contrib.sms_utils import SMSCODES, sms_email email = sms_email('1 (111) 111-1111','T-Mobile USA (abc)') mail.send(to = email, subject = 'test', message = 'test')
В приведенном выше примере SMSCODES — это словарь, поддерживаемый web2py, который сопоставляет имена основных телефонных компаний с постфиксом адреса электронной почты.
Телефонные компании обычно рассматривают электронные письма от сторонних служб как спам. Лучший способ заключается в том, что телефонные компании сами передают SMS. Каждая телефонная компания включает уникальный адрес электронной почты для каждого мобильного номера в своем хранилище, и SMS могут быть отправлены непосредственно на электронную почту.
В приведенном выше примере
-
Функция sms_email принимает номер телефона (в виде строки), который возвращает адрес электронной почты телефона.
-
Приложение scaffolding включает в себя несколько файлов. Один из них — models / db.py, который импортирует четыре.
-
Классы из gluon.tools также включают почтовые библиотеки и определяют различные глобальные объекты.
-
Приложение scaffolding также определяет таблицы, необходимые для объекта auth, такие как db.auth_user . Приложение скаффолдинга по умолчанию разработано, чтобы минимизировать количество файлов, а не быть модульным. В частности, файл модели, db.py , содержит конфигурацию, которую в производственной среде лучше всего хранить в отдельных файлах.
Функция sms_email принимает номер телефона (в виде строки), который возвращает адрес электронной почты телефона.
Приложение scaffolding включает в себя несколько файлов. Один из них — models / db.py, который импортирует четыре.
Классы из gluon.tools также включают почтовые библиотеки и определяют различные глобальные объекты.
Приложение scaffolding также определяет таблицы, необходимые для объекта auth, такие как db.auth_user . Приложение скаффолдинга по умолчанию разработано, чтобы минимизировать количество файлов, а не быть модульным. В частности, файл модели, db.py , содержит конфигурацию, которую в производственной среде лучше всего хранить в отдельных файлах.
Здесь мы предлагаем создать файл конфигурации —