utu2012
Янв. 20, 2011 16:39:34
Здравствуйте, ищу пример скрипта который получает письмо средствами poplib из почтового ящика “А” и отсылает средствами smtplib на почтовый ящик “В”. Как передать принятое сообщение от poplib в smtplib ?
utu2012
Янв. 20, 2011 16:45:14
Андрей Светлов
Янв. 20, 2011 16:55:57
По аналогии. Документацию читать умеете?
utu2012
Янв. 20, 2011 18:05:18
Имею мало опыта, мне трудно сориентироваться, пожалуйста хотябы часть кода как с poplib “перенести” письмо в smtplib
igor.kaist
Янв. 20, 2011 18:18:34
Да никак напрямую, получается письмо по pop3 (в документации есть примеры), и отправляете по smtp. Это разные операции, друг с другом не взаимосвязанные. Волшебной команды, сделает то что вам надо нет.
Для начала попробуйте получить письмо, потом попробуйте отправить письмо. А дальше, как все это вместе соединить, думаю догадаетесь.
utu2012
Янв. 20, 2011 19:14:42
Получить письмо я могу, и отправить могу ( создаю письмо сам). Но как полученое письмо через poplib преобразовать для smtplib. Решение наверно простое … Неужели нету примера :(
igor.kaist
Янв. 20, 2011 19:17:04
utu2012
Решение наверно простое … Неужели нету примера :(
вы приняли письмо, из этого письма вы можете взять тему, отправителя, получателя и само письмо?
utu2012
Янв. 20, 2011 22:24:09
Да если парсить это письмо я могу выбрать из него все компонеты. Но ведь полученное письмо пришло сформировано в соответствии со стандартом(зачем пересобирать сообщение еще раз). Мне лишь необходимо изменить адрес получателя. Как это можно сделать не раскладывая письма на компоненты а лишь изменить адрес получателя. Или упрощенный вариант … Пришло письмо в адрес блабла, скрипт проверяет почтовый ящик блабла получает это письмо, и нужно это письмо еще раз отправить в адрес блабла
igor.kaist
Янв. 20, 2011 22:39:16
посмотрите на модуль email, может быть проще станет…
http://docs.python.org/library/email-examples.html
utu2012
Янв. 24, 2011 11:24:00
Вот скрипт (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 ?