Модуль настройки электронной почты

modul nastrojki elektronnoj pochty Сценарии на стороне клиента

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

Если вы захотите пользоваться какими-либо почтовыми программами из этой книги для работы со своей электронной почтой, исправьте инструкции присваивания в этом модуле, чтобы они отражали ваши серверы, названия учетных записей и так далее (в представленном виде они соответствуют учетным записям электронной почты, использовавшимся при работе над книгой). Не все настройки из этого модуля используются в последующих сценариях. Некоторые из них будут описываться, когда мы вернемся к этому модулю в более поздних примерах.

Обратите внимание, что некоторые провайдеры могут требовать, чтобы вы подключались непосредственно к их системам для использования их серверов SMTP при отправке электронной почты. Например, в прошлом, когда я пользовался коммутируемым подключением, я мог использовать сервер моего провайдера непосредственно, но после перехода на широкополосное подключение я должен был направлять запросы через провайдера кабельного подключения к Интернету. Вам может потребоваться изменить эти настройки в соответствии с параметрами вашего подключения — обращайтесь к своему провайдеру Интернета, чтобы получить параметры доступа к серверам POP и SMTP. Кроме того, некоторые серверы SMTP могут проверять доменные имена в адресах и могут требовать проходить процедуру аутентификации — подробности смотрите в разделе, посвященном протоколу SMTP далее в этой главе.

Пример 13.17. PP4E\Internet\Email\mailconfig.py

пользовательские параметры настройки для различных программ электронной почты (версия pymail/mailtools); сценарии электронной почты получают имена серверов и другие параметры настройки из этого модуля: измените его, чтобы он отражал имена ваших серверов и ваши предпочтения;

#                                                                                     —-

#  (требуется для загрузки, удаления: для всех) имя сервера POP3,

#  имя пользователя

#                                                                                     —-

popservername = ‘pop.secureserver.net’

popusername = ‘PP4E@learning-python.com’

#                                                                                     —-

#  (требуется для отправки: для всех) имя сервера SMTP

#  смотрите модуль Python smtpd, где приводится класс сервера SMTP,

#   выполняемого локально;

#———————————————————————

smtpservername = ‘smtpout.secureserver.net’

#                                                                                     —-

#   (необязательные параметры: для всех) персональная информация,

#   используемая клиентами для заполнения полей в сообщениях,

#   если эти параметры определены;

#   подпись — может быть блоком в тройных кавычках, игнорируется,

#   если пустая строка;

#   адрес — используется в качестве начального значения поля "From",

#   если непустая строка, больше не пытается определить значение

#   поля From для ответов: это имело переменный успех;

#                                                                                     —-

myaddress = ‘PP4E@learning-python.com’

mysignature = (‘Thanks,\n’

‘—Mark Lutz (http://learning-python.com, http://rmi.net/~lutz)’)

#                                                                                     —-

#   (необязательные параметры: mailtools) могут потребоваться для отправки;

#   имя пользователя/пароль SMTP, если требуется аутентификация;

#   если аутентификация не требуется, установите переменную smtpuser

#   в значение None или »; в переменную smtppasswdfile запишите имя файла

#   с паролем SMTP или пустую строку, чтобы вынудить программу

#   запрашивать пароль (в консоли или в графическом интерфейсе);

#                                                                                     —-

smtpuser = None # зависит от провайдера

smtppasswdfile = » # установите в значение », чтобы обеспечить запрос

#                                                                                     —-

#   (необязательный параметр: mailtools) имя локального однострочного

#   текстового файла с паролем pop; если содержит пустую строку или файл

#   не может быть прочитан, при первом соединении пароль запрашивается

#   у пользователя; пароль не шифруется: оставьте это значение пустым

#   на компьютерах общего пользования;

#———————————————————————

poppasswdfile = rc:\temp\pymailgui.txt# установите в значение ‘ # чтобы обеспечить запрос

#                                                                                     —-

#   (обязательный параметр: mailtools) локальный файл, где некоторые клиенты

#   сохраняют отправленные сообщения;

#                                                                                     —-

sentmailfile = r’.\sentmail.txt’ # . означает текущий рабочий каталог

#———————————————————————-

#   (обязательный параметр: pymail, pymail2) локальный файл, где pymail

#   сохраняет почту по запросу;

#                                                                                     

savemailfile = r’c:\temp\savemail.txt’ # не используется в PyMailGUI: диалог

#                                                                                     

#   (обязательные параметры: pymail, mailtools) fetchEncoding

#   это имя кодировки, используемой для декодирования байтов сообщения,

#   а также для кодирования/декодирования текста сообщения, если они

#   сохраняются в текстовых файлах; подробности смотрите в главе 13:

#   это временное решение, пока не появится новый пакет email,

#   с более дружественным отношением к строкам bytes;

#   headersEncodeTo — для отправки заголовков: смотрите главу 13;

#                                                                                     

fetchEncoding = utf8′ # 4E: как декодировать и хранить текст сообщений

#   (или latin1?)

headersEncodeTo = None # 4E: как кодировать неASCII заголовки при отправке

#   (None=utf8)

#———————————————————————-

#   (необязательный параметр: mailtools)максимальное количество заголовков

#   или сообщений, загружаемых за один запрос; если указать значение N,

#   mailtools будет извлекать не более N самых последних электронных писем;

#   более старые сообщения, не попавшие в это число, не будут извлекаться

#   с сервера, но будут возвращаться как пустые письма;

#   если этой переменной присвоить значение None (или 0), будут загружаться

#   все сообщения; используйте этот параметр, если вам может поступать

#   очень большое количество писем, а ваше подключение к Интернету

#   или сервер слишком медленные, чтобы можно было выполнить загрузку

#   сразу всех сообщений; кроме того, некоторые клиенты загружают

#   только самые свежие письма, но этот параметр никак не связан

#   с данной особенностью;

#  

fetchlimit = 25 # 4E: максимальное число загружаемых заголовков/сообщений

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий