특정 조건과 일치하는 특정 전자 메일을 자동으로 다른 전자 메일로 전달하는 스크립트를 작성하려고합니다.python smtplib을 사용하여 전자 메일 전달
imaplib 및 전자 메일을 사용하여 메시지를 다운로드하고 구문 분석했지만 전체 전자 메일을 다른 주소로 전달하는 방법을 알 수 없습니다. 처음부터 새 메시지를 작성해야합니까, 아니면 이전 메시지를 수정하고 다시 보낼 수 있습니까? 여기
내가 지금까지 가지고 무엇을 (클라이언트는 imaplib.IMAP4 연결하고, ID는 메시지 ID입니다) : 나는 관련 일을 할 필요가 약간 더 복잡한 뭔가가있을거야import smtplib, imaplib
smtp = smtplib.SMTP(host, smtp_port)
smtp.login(user, passw)
client = imaplib.IMAP4(host)
client.login(user, passw)
client.select('INBOX')
status, data = client.fetch(id, '(RFC822)')
email_body = data[0][1]
mail = email.message_from_string(email_body)
# ...Process message...
# This doesn't work
forward = email.message.Message()
forward.set_payload(mail.get_payload())
forward['From'] = '[email protected]'
forward['To'] = '[email protected]'
smtp.sendmail(user, ['[email protected]'], forward.as_string())
메시지의 MIME 내용 물론 전체 메시지를 전달하는 간단한 방법이 있습니까? 내가 POP3를 통해 메시지를 다운로드
# This doesn't work either, it just freezes...?
mail['From'] = '[email protected]'
mail['To'] = '[email protected]'
smtp.sendmail(user, ['[email protected]'], mail.as_string())
결정을 내리기에 너무 많은 문맥이 누락되었습니다. 특히 표준 smtplib을 사용하고 있습니까? 어떤 버전의 파이썬. smtp가 초기화 된 위치는 connect()입니까? 적절한 헬로 응답을 받았습니까? – msw
표준 smtplib, python2.6.4입니다. smtplib 클라이언트가 정상적으로 작동합니다. smtp의 마지막 인수로 문자열을 전달하여 간단한 텍스트 전자 메일을 보낼 수 있습니다. 다운로드 한 메시지의 전체 MIME 내용을 새 주소로 보내는 간단한 방법을 찾고 싶습니다. – robbles