2014-10-29 2 views
0

첨부 파일이 포함 된 이메일을 Python으로 다시 보내려합니다. 전자 메일을 보내는 코드가 있지만 다른 전자 메일의 첨부 파일을 어떻게 참조 할 수 있습니까?첨부 파일이 포함 된 이메일 전달

def show_emails(): 
    M.select() 
    typ, data = M.search(None, 'All') 
    for num in data[0].split(): 
     typ, data = M.fetch(num, '(RFC822)') 
     parser = Parser() 
     email = parser.parsestr(data[0][1]) 
     print "MESSAGE NUMBER %s" % (num) 
     print 'Raw Date:' 
     print email.get('Date') 
     print "From:" 
     print email.get('From') 
     print "Subject: " 
     print email.get('Subject') 

보내기 그리고이 코드는 내가 첨부 파일이 있는지 확인해야합니다 알고

msg = MIMEMultipart() 

mfrom = '[email protected]' 
mto = '[email protected]' 

msg['Subject'] = 'test' 
msg['From'] = mfrom 
msg['To'] = mto 
msg['Date'] = formatdate() 

# Open the file to scan in binary mode 
fp = open('/path/to/file', 'rb') 
attachment = MIMEBase('application', 'octet-stream') 
attachment.set_payload(fp.read()) 
encoders.encode_base64(attachment) 
attachment.add_header('Content-Disposition', 'attachment; filename="filename"') 
fp.close() 
msg.attach(attachment) 

를 보내기위한 것입니다. 첨부 파일을 참조하고 전달하려면 어떻게해야합니까?

if msg.is_multipart(): 
     for part in msg.walk(): 
     fileName = part.get_filename() 
     if bool(fileName): 
      print "Attachment: %s " % (decode_header(fileName)[0][0]) 
     else: 
      print "No attachments" 

답변

0

당신은 그것을 참조 할 수 없습니다 : 그 RFC는 4467-9가 있었지만, 그 많은 서버에서 나는 그들이 죽었다고 생각이 시점에서 구현되지 않은 것입니다. 첨부 파일을 다운로드하여 로컬 파일을 보내는 것처럼 첨부 파일을 보내야합니다.

관련 문제