Получать и отправлять электронные письма в Python

Я написал структуру для сортировки текстовых представлений естественного языка объектов в локально-чувствительном порядке:

http://softsmithy.sourceforge.net/lib/docs/api/org /softsmithy/lib/text/Localizables.html

Любой ученик должен будет реализовать Localizable , или вам нужно будет предоставить StudentLocalizer, расширив Localizer .

Maven:

  
    org.softsmithy.lib  
    lib-core  
    0.1  
  

Загрузить:

http://sourceforge.net/projects/softsmithy/files/softsmithy /v0.1/

37
задан MatthewMartin 19 April 2018 в 13:40
поделиться

7 ответов

Вот очень простой пример:

import smtplib

server = 'mail.server.com'
user = ''
password = ''

recipients = ['user@mail.com', 'other@mail.com']
sender = 'you@mail.com'
message = 'Hello World'

session = smtplib.SMTP(server)
# if your SMTP server doesn't need authentications,
# you don't need the following line:
session.login(user, password)
session.sendmail(sender, recipients, message)

Для большего количества опций, обработка ошибок, и т.д., смотрит smtplib документация модуля .

23
ответ дан Manuel Ceron 19 April 2018 в 13:40
поделиться

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

необходимо объяснить более подробно, в чем Вы нуждаетесь. Если бы Вы просто хотите реагировать на входящую электронную почту, я предложил бы настроить почтовый сервер для вызова программы, когда это получает электронное письмо. Эта программа могла сделать то, что она хочет (обновление базы данных, создавая файл, говоря с другой программой Python).

Для вызова произвольной программы от почтового сервера у Вас есть несколько вариантов:

  1. Для sendmail и Постфикса, ~/.forward содержащий "|/path/to/program"
  2. , Если Вы используете procmail, действие рецепта |path/to/program
  3. И конечно многие другие
12
ответ дан bortzmeyer 19 April 2018 в 13:40
поделиться

poplib и smtplib будут Вашими друзьями при разработке приложения.

4
ответ дан Bullines 19 April 2018 в 13:40
поделиться

Python имеет модуль SMTPD, который будет полезен Вам для записи сервера. Вы, вероятно, также захотите, чтобы модуль SMTP сделал снова посылание. Оба модуля находятся в стандартной библиотеке, по крайней мере, начиная с версии 2.3.

7
ответ дан mcrute 19 April 2018 в 13:40
поделиться

Передающая часть была покрыта, для приема Вас может использовать поп или imap

3
ответ дан Toni Ruža 19 April 2018 в 13:40
поделиться

В зависимости от суммы почты Вы отправляете, Вы могли бы хотеть изучить использование реального почтового сервера как postifx или sendmail (*nix системы), Обе из тех программ имеют способность отправить полученную почту в программу на основе адреса электронной почты.

2
ответ дан epochwolf 19 April 2018 в 13:40
поделиться

Да, можно сделать в значительной степени все со встроенными библиотеками. Сделайте поиск, здесь ища теги [python] и [email], и Вы будете видеть, как он сделан.

2
ответ дан Harley Holcombe 19 April 2018 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: