[PYTHON] 파이썬 : smtplib 모듈을 사용하여 전자 메일을 보낼 때 "제목"이 표시되지 않음
PYTHON파이썬 : smtplib 모듈을 사용하여 전자 메일을 보낼 때 "제목"이 표시되지 않음
smtplib 모듈을 사용하여 전자 메일을 성공적으로 보낼 수 있습니다. 그러나 이메일이 전송되면 전송 된 이메일에 제목이 포함되지 않습니다.
import smtplib
SERVER = <localhost>
FROM = <from-address>
TO = [<to-addres>]
SUBJECT = "Hello!"
message = "Test"
TEXT = "This message was sent with Python's smtplib."
server = smtplib.SMTP(SERVER)
server.sendmail(FROM, TO, message)
server.quit()
보낸 전자 메일에 제목을 포함하려면 "server.sendmail"을 어떻게 작성해야합니까?
server.sendmail (FROM, TO, message, SUBJECT)을 사용하면 "smtplib.SMTPSenderRefused"에 대한 오류가 발생합니다.
해결법
-
==============================
1.머리글로 첨부 :
머리글로 첨부 :
message = 'Subject: {}\n\n{}'.format(SUBJECT, TEXT)
그리고:
server = smtplib.SMTP(SERVER) server.sendmail(FROM, TO, message) server.quit()
또한 표준 Python 모듈 전자 메일을 사용하는 것을 고려하십시오. 전자 메일을 작성하는 동안 많은 도움이됩니다.
-
==============================
2.이 시도:
이 시도:
import smtplib from email.mime.multipart import MIMEMultipart msg = MIMEMultipart() msg['From'] = 'sender_address' msg['To'] = 'reciver_address' msg['Subject'] = 'your_subject' server = smtplib.SMTP('localhost') server.sendmail('from_addr','to_addr',msg.as_string())
-
==============================
3.코드를 다음과 같이 수정해야합니다 :
코드를 다음과 같이 수정해야합니다 :
from smtplib import SMTP as smtp from email.mime.text import MIMEText as text s = smtp(server) s.login(<mail-user>, <mail-pass>) m = text(message) m['Subject'] = 'Hello!' m['From'] = <from-address> m['To'] = <to-address> s.sendmail(<from-address>, <to-address>, m.as_string())
분명히 <> 변수는 실제 문자열 값 또는 유효한 변수 일 필요가 있습니다. 방금 변수를 place holder로 채 웁니다. 이 기능은 주제가있는 메시지를 보낼 때 유용합니다.
-
==============================
4.smtplib 설명서의 맨 아래에있는 메모를 참조하십시오.
smtplib 설명서의 맨 아래에있는 메모를 참조하십시오.
일반적으로 전자 메일 패키지의 기능을 사용하여 전자 메일 메시지를 구성한 다음 문자열로 변환하고 sendmail ()을 통해 전자 메일 메시지를 보낼 수 있습니다. 전자 메일 : 예제를 참조하십시오.
다음은 전자 메일 설명서의 예제 섹션에 대한 링크입니다. 여기에는 제목이있는 메시지 생성이 실제로 표시됩니다. http://docs.python.org/library/email-examples.html#email-examples
smtplib은 제목 추가를 직접적으로 지원하지 않으며, msg가 이미 제목 등으로 포맷 될 것으로 예상됩니다. 이메일 모듈이 들어오는 곳입니다.
-
==============================
5.메시지에 포함시켜야한다고 생각합니다.
메시지에 포함시켜야한다고 생각합니다.
import smtplib message = """From: From Person <from@fromdomain.com> To: To Person <to@todomain.com> MIME-Version: 1.0 Content-type: text/html Subject: SMTP HTML e-mail test This is an e-mail message to be sent in HTML format <b>This is HTML message.</b> <h1>This is headline.</h1> """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Successfully sent email" except SMTPException: print "Error: unable to send email"
code from : http://www.tutorialspoint.com/python/python_sending_email.htm
from https://stackoverflow.com/questions/7232088/python-subject-not-shown-when-sending-email-using-smtplib-module by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 조건이 충족되면 울퉁불퉁 한 요소 교체하기 (0) | 2018.11.04 |
---|---|
[PYTHON] 파이썬에서 "홈 디렉토리"를 찾으십니까? [복제] (0) | 2018.11.04 |
[PYTHON] 장고 관리자에서 기본 응용 프로그램을 제거하십시오 (0) | 2018.11.04 |
[PYTHON] 어떻게 파이썬에서 문자열에있는 모든 문자의 인스턴스를 삭제하려면? (0) | 2018.11.04 |
[PYTHON] 파이썬은리스트의 첫번째와 마지막 요소를 조각 낸다. (0) | 2018.11.04 |