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()
보낸 이메일에 SUBJECT도 포함하려면 "server.sendmail"을 어떻게 작성해야합니까?
server.sendmail (FROM, TO, message, SUBJECT)을 사용하면 "smtplib.SMTPSenderRefused"에 대한 오류가 발생합니다.
헤더로 첨부 :
message = 'Subject: {}\n\n{}'.format(SUBJECT, TEXT)
그리고:
server = smtplib.SMTP(SERVER)
server.sendmail(FROM, TO, message)
server.quit()
또한 표준 Python 모듈 사용을 고려하십시오 email
. 이메일을 작성하는 동안 많은 도움이 될 것입니다.
이 시도:
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())
다음과 같이 코드를 수정해야합니다.
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())
분명히 <>
변수는 실제 문자열 값이거나 유효한 변수 여야합니다. 그냥 자리 표시 자로 채웠습니다. 이것은 제목이있는 메시지를 보낼 때 나를 위해 작동합니다.
메시지에 포함시켜야한다고 생각합니다.
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"
코드 출처 : http://www.tutorialspoint.com/python/python_sending_email.htm
smtplib 문서 하단에있는 참고를 참조하십시오.
In general, you will want to use the email package’s features to construct an email message, which you can then convert to a string and send via sendmail(); see email: Examples.
여기에의 email
문서 의 예제 섹션에 대한 링크가 있으며 실제로 제목 줄이있는 메시지 생성을 보여줍니다. http://docs.python.org/library/email-examples.html#email-examples
smtplib는 주제 추가를 직접 지원하지 않으며 메시지가 주제 등으로 이미 형식화되어있을 것으로 예상합니다. 여기에서 email
모듈이 들어옵니다.
이것은 새로운 "EmailMessage"개체를 사용하여 Gmail 및 Python 3.6 이상에서 작동합니다.
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg.set_content('This is my message')
msg['Subject'] = 'Subject'
msg['From'] = "me@gmail.com"
msg['To'] = "you@gmail.com"
# Send the message via our own SMTP server.
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login("me@gmail.com", "password")
server.send_message(msg)
server.quit()
import smtplib
# creates SMTP session
List item
s = smtplib.SMTP('smtp.gmail.com', 587)
# start TLS for security
s.starttls()
# Authentication
s.login("login mail ID", "password")
# message to be sent
SUBJECT = "Subject"
TEXT = "Message body"
message = 'Subject: {}\n\n{}'.format(SUBJECT, TEXT)
# sending the mail
s.sendmail("from", "to", message)
# terminating the session
s.quit()
'IT박스' 카테고리의 다른 글
생성 된 목록의 각 항목에 대한 RxJava 지연 (0) | 2020.12.27 |
---|---|
선택한 항목 (ListView에서)이 ContextMenu (Android)를 생성했는지 감지 (0) | 2020.12.27 |
"이름이"rabbit "인 노드가 이미 실행 중"이지만 " 'rabbit'노드에 연결할 수 없습니다." (0) | 2020.12.27 |
git push fails :`refusing to update check out branch : refs / heads / master` (0) | 2020.12.27 |
인앱 구매에서 가격 등급을 변경할 수 없습니다. (0) | 2020.12.27 |