Python 3 는 SMTP 를 사용 하여 첨부 파일 메 일 을 보 냅 니 다.
3214 단어 python3SMTP우편물 을 발송 하 다
첫 번 째 문장 을 참고 할 수 있 습 니 다.여 기 는 더 이상 군말 하지 않 겠 습 니 다.
2.Python 3 을 사용 하여 첨부 파일 이 있 는 메 일 을 보 냅 니 다.
0.사용 하 는 환경 은:
Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)
1.주의사항:
smtplib 를 호출 하여 간단 한 메 일 을 보 낼 때 smtplib.SMTP()방법 을 사용 하여 문제 가 없습니다.
그러나 메 일 에 첨부 파일 이 있 는 경우 smtplib.SMTP()방법 을 사용 하면'원 격 호스트 연결 거부'오류 가 발생 할 수 있 습 니 다.
이것 은 우리 가 메 일 을 보 낼 때 제3자 의 메 일 서버(예 를 들 어 왕 이 163 메 일,QQ 메 일 등)를 호출 하기 때 문 입 니 다.이 메 일 서버 들 은 안전 을 고려 하여 간단 하고 암호 화 되 지 않 은 smtplib.SMTP()방법 으로 메 일 을 직접 보 내 는 것 을 허락 하지 않 을 수도 있 습 니 다.안전 하고 암호 화 된 전송 을 거 친 smtplib.SMTP 를 사용 해 야 합 니 다.SSL()방법 이 있어 야 발송 에 성공 할 수 있 습 니 다.
2.MIME 형식:
MIME(Multipurpose Internet Mail Extensions)는 메시지 내용 유형 을 설명 하 는 인터넷 표준 이다.
MIME 메 시 지 는 텍스트,이미지,오디 오,비디오 및 기타 응용 프로그램 전용 데 이 터 를 포함 할 수 있 습 니 다.
쉽게 말 하면 우리 가 메 일 을 보 낼 때 첨부 파일 이 존재 하면 서로 다른 유형의 첨부 파일 은 해당 하 는 MIME 형식 으로 보 내야 한 다 는 것 이다.
구체 적 인 유형 은 참고 할 수 있다.
2.구현 코드:
import smtplib
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = '[email protected]'
receiver = '[email protected]'
smtpserver = 'smtp.163.com'
username = 'XXXXX'
password = 'XXXXX'
mail_title = ' : '
#
message = MIMEMultipart()
message['From'] = sender
message['To'] = receiver
message['Subject'] = Header(mail_title, 'utf-8')
#
message.attach(MIMEText(' , ', 'plain', 'utf-8'))
# 1( TXT )
att1 = MIMEText(open('text1.txt', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="text1.txt"'
message.attach(att1)
# 2( JPG )
att2 = MIMEText(open('123.jpg', 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="123.jpg"'
message.attach(att2)
# 3( HTML )
att3 = MIMEText(open('report_test.html', 'rb').read(), 'base64', 'utf-8')
att3["Content-Type"] = 'application/octet-stream'
att3["Content-Disposition"] = 'attachment; filename="report_test.html"'
message.attach(att3)
smtpObj = smtplib.SMTP_SSL() # : ( ), SMTP_SSL
smtpObj.connect(smtpserver)
smtpObj.login(username, password)
smtpObj.sendmail(sender, receiver, message.as_string())
print(" !!!")
smtpObj.quit()
3.발송 성공 후 수신 자가 받 은 메 일 은 다음 그림 과 같다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.