2014-10-14 5 views
0

저는 Python으로 매우 빠르고 쉽게 전자 메일을 보낼 수있는 스크립트를 작성했습니다. 나는 매일 그것을 사용하려고하지는 않는다. 그것은 나 자신을위한 더 많은 개념 증명이다.전자 메일의 초보자 - 제목 줄

제목 줄을 표시 할 수 없습니다. 전자 메일을 보낼 수 있지만이 질문의 맨 아래에 설명하는 방법으로 제목 줄을 포함 시키려고하면 전자 메일이 보내지지 않습니다. (현재 제목이 주석 처리되었음을 알고 있습니다!).

import smtplib 

candidate_name = raw_input("Candidate Name: ") 
candidate_email = raw_input("Candidate Email: ") 

# Specifying the from and to addresses 

fromaddr = 'XXXX' 
toaddrs = '%s' % candidate_email 
#subject = 'Phone call' 

# Writing the message (this message will appear in the email) 

msg = ''' 
Hi %s 

Thanks for taking my call just now. As discussed if you could send me a copy of your CV  that would be great and I'll be back in touch shortly. 

Cheers 
XXXX''' %candidate_name 



username = 'XXXX' 
password = 'XXXX' 

# Sending the mail 

server = smtplib.SMTP('XXXX') 
server.starttls() 
server.login(username,password) 
server.sendmail(fromaddr, toaddrs, msg) 
print "Email sent to %s at %s" % (candidate_name, candidate_email) 
server.quit() 

내가 이런 메일 보내기 라인에 따라 추가하는 시도 :

server.sendmail(fromaddr, toaddrs, subject, msg) 

하지만 아무 짓도 안 했어요 여기에 현재 내 코드입니다.

정말 바보 같은 질문이 아니길 바랍니다. 나는 파이썬을 가르치는 것부터 시작하고있다.

답변

1

SMTP.sendmail의 선언 :

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

그것은 메시지의 일부로서 주제를 기대하고, 메시지가 전달되는 세 번째 인수한다. 메시지를 네 번째 인수로 이동하여 메시지와 제목을 별도로 보냅니다.

1

당신은 헤더로 첨부 할 수 있습니다

msg = 'Subject: %s\n%s' % (subject_text, message_text) 

server = smtplib.SMTP(SERVER) 
server.sendmail(fromaddress, toaddress, msg) 
server.quit() 
당신은 표준 파이썬 모듈 이메일을 사용하는 것이 좋습니다

이 - 메일을 작성하는 동안 그것은 당신에게 많은 도움이 될 것입니다.

1

specify-a-sender-when-sending-mail... 참조, 제목은 마임 헤더입니다.

email.message.Message class을 활용하여 :, : 및 : 이라는 주제를 포함하여 mime 헤더를 생성 할 수 있습니다..

as_string() 결과를 smtplib (다른 답변보기)을 사용하여 보내주십시오.

>>> from email import message 
>>> m1=message.Message() 
>>> m1.add_header('from','[email protected]') 
>>> m1.add_header('to','[email protected]') 
>>> m1.add_header('subject','test') 
>>> m1.set_payload('test\n') 
>>> m1.as_string() 
'from: [email protected]\nto: [email protected]\nsubject: test\n\ntest\n' 
>>>