Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2011 16:39:34

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Здравствуйте, ищу пример скрипта который получает письмо средствами poplib из почтового ящика “А” и отсылает средствами smtplib на почтовый ящик “В”. Как передать принятое сообщение от poplib в smtplib ?



Офлайн

#2 Янв. 20, 2011 16:45:14

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Вот пример для IMAP http://stackoverflow.com/questions/2717196/forwarding-an-email-with-python-smtplib , как сделать для POP3 ?



Офлайн

#3 Янв. 20, 2011 16:55:57

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

POP3 to SMTP Forwarder

По аналогии. Документацию читать умеете?



Офлайн

#4 Янв. 20, 2011 18:05:18

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Имею мало опыта, мне трудно сориентироваться, пожалуйста хотябы часть кода как с poplib “перенести” письмо в smtplib



Отредактировано (Янв. 20, 2011 18:06:21)

Офлайн

#5 Янв. 20, 2011 18:18:34

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Да никак напрямую, получается письмо по pop3 (в документации есть примеры), и отправляете по smtp. Это разные операции, друг с другом не взаимосвязанные. Волшебной команды, сделает то что вам надо нет.
Для начала попробуйте получить письмо, потом попробуйте отправить письмо. А дальше, как все это вместе соединить, думаю догадаетесь.



Офлайн

#6 Янв. 20, 2011 19:14:42

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Получить письмо я могу, и отправить могу ( создаю письмо сам). Но как полученое письмо через poplib преобразовать для smtplib. Решение наверно простое … Неужели нету примера :(



Офлайн

#7 Янв. 20, 2011 19:17:04

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

utu2012
Решение наверно простое … Неужели нету примера :(
вы приняли письмо, из этого письма вы можете взять тему, отправителя, получателя и само письмо?



Офлайн

#8 Янв. 20, 2011 22:24:09

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Да если парсить это письмо я могу выбрать из него все компонеты. Но ведь полученное письмо пришло сформировано в соответствии со стандартом(зачем пересобирать сообщение еще раз). Мне лишь необходимо изменить адрес получателя. Как это можно сделать не раскладывая письма на компоненты а лишь изменить адрес получателя. Или упрощенный вариант … Пришло письмо в адрес блабла, скрипт проверяет почтовый ящик блабла получает это письмо, и нужно это письмо еще раз отправить в адрес блабла



Офлайн

#9 Янв. 20, 2011 22:39:16

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

посмотрите на модуль email, может быть проще станет… http://docs.python.org/library/email-examples.html



Офлайн

#10 Янв. 24, 2011 11:24:00

utu2012
От:
Зарегистрирован: 2011-01-20
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

POP3 to SMTP Forwarder

Вот скрипт (Python v3):

# coding: utf-8
import poplib
pop_host = "pop.yandex.ru"
smtp_host = "smtp.yandex.ru"
user = "xxxxx"
passwd = "xxxxxx"

client = poplib.POP3(pop_host)
client.user(user)
client.pass_(passwd)
answ, msg, tmp = client.retr(1)
print(msg.__str__())
client.retr(1) возвращает сообщение в виде list. Вывод скрипта :
[b'X-Yandex-FolderName: Vhodyashchie', b'Received: from smtp1.mail.yandex.net ([77.88.46.101])', ...
Как преобразовать в string ?



Отредактировано (Янв. 24, 2011 23:56:25)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version