Рубрики
Без рубрики

Как отправлять почту на Python с помощью Web2py

В этом уроке мы узнаем, как реализовать функцию send.mail() Web2py для настройки или настройки электронной почты и, наконец, покажем, как отправлять электронные письма пользователям.

Автор оригинала: Codementor Team.

Имея небольшую подготовку или базовые знания в области программирования, вполне возможно разработать полноценное веб-приложение с помощью фреймворков с полным стеком, таких как Web2py.

Что вы узнаете:

В этом уроке мы узнаем, как:

  • Реализуйте Web2py send.mail() для настройки или настройки электронной почты и, наконец, покажите, как отправлять электронные письма пользователям.

До этого мы также рассмотрим:

  • Ядро Web2py
  • Где получить двоичный дистрибутив для конкретной операционной системы и как его установить
  • Как запустить административный интерфейс через графический интерфейс
  • Настройте параметры почты с помощью класса mailer и отправьте почту

Web2py, как и другие фреймворки, написанные на python, имеют крутую кривую обучения, но она довольно гибкая, чем другие.

Введение в Web2py:

Web2py – это фреймворк с полным стеком, написанный на Python и программируемый на Python. Web2py был создан Массимо Ди Пьерро в 2008 году. С момента своего создания различные проекты, такие как http://www.rockiger.com , http://tenthrow.com и другие извлекли выгоду из Web2py. Мы можем продолжать и продолжать вечно, но давайте вкратце познакомим мир с Web2py.

В отличие от других традиционных языков программирования, Web2py следует концепции model-view-controller.

Ниже приведено представление концепции MVC :

  • Модель – db.py : Модель включает в себя логику приложения или логику приложения. В модели есть объекты, которые извлекают и сохраняют объекты в базе данных.
  • Контроллер – default.py : Контроллер обрабатывает взаимодействие с пользователем, отправляет ввод данных в конкретную модель и может считывать данные из представления.
  • Вид – default/contact.html : Представление помогает с представлением данных. Данные извлекаются из модели и затем передаются конечным пользователям.

Кроме того, он поддерживает различные протоколы, такие как RSS, CSV, HTML, JSON, RDF и XML . Например, допустим, пользователь запрашивает страницу в XML, Web2py ищет представление, которое может отображать словарь в XML.

Web2py также включает в себя приложение CRUD — аббревиатуру, которая определяет основные или элементарные функции базы данных. Основные функции базы данных включают Создание, удаление, обновление и извлечение .

Наконец, Web2py имеет свои собственные настраиваемые механизмы для решения проблем безопасности, таких как утечка информации, нарушенная аутентификация и межсайтовые сценарии.

Например, Web2py обрабатывает нарушенную аутентификацию, предоставляя механизм для административного интерфейса, и разрешает безопасные сеансы, когда клиент не является ” localhost “.

Установка Web2py

Если у вас уже установлен Web2py на вашем компьютере, не стесняйтесь пропустить этот раздел.

Двоичные пакеты для Web2py доступны для операционных систем, таких как Windows и Linux/Unix . Вот ссылка для скачивания http://www.web2py.com/init/default/download для вашего удобства.

python web2py

Для пользователей Linux:

Шаг 1 : Загрузите Web2py из http://www.web2py.com/init/default/download

    cd  /home
    mkdir   www-dev    
    cd  www-dev  
    Wget  http://www.web2py.com/examples/static/web2py_src.zip  

Шаг 2 : Распаковать x web2py_src.zip после загрузки

Шаг 3 cd web2py — измените каталог на web2py, чтобы запустить сервер.

python web2py.py

Для пользователей Windows:

Шаг 1 : Загрузите исходный пакет с официального сайта Web2py, сохраните его и распакуйте позже.

python web2py

Шаг 2 : В папке переместите мышь в web2py.exe и дважды щелкните по нему.

Шаг 3 : Через несколько секунд должен появиться административный интерфейс. Введите пользовательский пароль. Как мы видим, IP-адрес по умолчанию для веб-сервера-127.0.0.1. Однако вы можете указать или настроить свой собственный IP-адрес. Порт сервера-8000 (локальный хост).

python web2py

Должно появиться новое окно, отображающее страницу приветствия, как показано ниже:

python web2py

Запуск административного интерфейса:

Чтобы получить доступ к административным функциям, нам нужно зарегистрироваться в Web2py, а затем войти в систему. Однако мы можем напрямую получить доступ к административным файлам, предоставив свои учетные данные администратора.

python web2py

После ввода пароля администратора мы можем получить доступ к административному интерфейсу. Административный интерфейс состоит из уже установленных приложений.

По умолчанию платформа Web2py поставляется с тремя приложениями, а именно:

  1. Приложение администратора
  2. Примеры применения
  3. Добро пожаловать приложение

В настоящее время мы находимся в приложении администратора. Для приложения примеров он состоит из интерактивной документации в режиме онлайн и экземпляра веб-сайта Web2py. Приложение приветствия, также известное как приложение scaffolding, содержит базовый шаблон для разработки любого другого приложения Web2py.

Давайте создадим базовое “Привет, мир!” просто чтобы посмотреть, как это работает.

python web2py

После этого мы отредактируем default.py путем внесения следующих изменений в индекс функции. В default.py представляет контроллер, который позволяет взаимодействовать с пользователем, а также может считывать данные из представления.

def index():
    """
    example action using the internationalization operator T and flash
    rendered by views/default/index.html or views/generic.html

    if you need a simple wiki simply replace the two lines below with:
    return auth.wiki()
    """
    response.flash = T("Hello World")
    return "Welcome to my world of web development!"

“Добро пожаловать в мой мир веб-разработки” отображается после ввода: 127.0.0.1:8000/Hello World

Использование Web2py для служб электронной почты

С помощью встроенного класса глюон.инструменты mail , мы можем отправлять электронные письма нашим контактам или пользователям. Под примером приложения нажмите кнопку Приветствие приложения . Внутри приложения Приветствия, в разделе Модели, нажмите на db.py

python web2py

После этого определите отправитель с этим классом. Кроме того, в целях отладки замените “имя пользователя:пароль” на ведение журнала.

     from gluon. tools  import Mail   
     mail  =  Mail ()  
     mail = auth.settings.server 
     mail.settings.server  = 'smtp.project.com:25'  
     mail.settings.sender = 'xyz@project.com.'  
     mail.settings.login = 'username: password'      

Отправка электронной почты с Web2py

Вы можете использовать свою учетную запись Gmail для отправки сообщений из одной учетной записи в другую учетную запись электронной почты.

Вы также должны убедиться, что вы ввели один раз введенный пароль, который Google предоставляет приложениям (например, Web2py), которые вы собираетесь использовать, чтобы разрешить использование служб Gmail https://security.google.com/settings/security/apppasswords?pli=1 . Невыполнение этого требования может привести к ошибкам.

Мы уже настроили параметры конфигурации специально для отправки электронных писем с помощью объекта mail, теперь мы можем структурировать синтаксис mail.send() для отправки сообщений другим контактам.

message='None', attachments=[], 
cc=[], bcc=[], reply_to=[], 
sender=None, encoding='utf-8', 
raw=True, 
headers={})

Атрибуты cc и bcc позволяют отправителю включать действительный адрес электронной почты помимо основного получателя. Ниже приведен простой способ реализации функции mail.send() для отправки сообщений:

mail.send(to=['xyz@project.com'], 
subject='Web2py Project', 
reply_to='xyz@project.com', 
message='This is how Web2py implements mail.send() ')

Завершение

Помимо того, что вы используете mail.send() для отправки сообщений пользователям или контактам, Web2py предоставляет еще один модуль специально для SMS, который отличается от mail.send () , поскольку он полагается на стороннюю службу. Web2py-это фреймворк с полным стеком, который включает в себя интегрированную базу данных SQL и механизм безопасности для обработки распространенных уязвимостей веб-приложений.

И вдобавок ко всему, его способность отправлять сообщения из почтовых служб является одной из его уникальных особенностей. Вы можете попробовать свои силы с помощью send.mail () , чтобы узнать, насколько он прост в использовании. Наконец, я рекомендую и предпочитаю фреймворк Web2py другим фреймворкам, написанным и программируемым на Python, из-за его гибкой кривой обучения.

Биография автора

Майкл-начинающий инженер по кибербезопасности и технический писатель, базирующийся в Гане, Африка. Он работает в American Eyes Security в качестве консультанта по безопасности WordPress на неполный рабочий день. Он интересуется Ruby on Rails и безопасностью PHP.