>백엔드 개발 >파이썬 튜토리얼 >Python의 smtplib를 사용하여 이메일 첨부 파일을 보내는 방법은 무엇입니까?

Python의 smtplib를 사용하여 이메일 첨부 파일을 보내는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-17 00:16:25522검색
How to Send Email Attachments Using Python's smtplib?
코드 조각:

간단한 코드부터 시작하겠습니다. 조각:

설명:

MIMEMultipart:
import smtplib
from os.path import basename
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

def send_mail(send_from, send_to, subject, text, files=None,
              server="127.0.0.1"):
    assert isinstance(send_to, list)

    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = COMMASPACE.join(send_to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    for f in files or []:
        with open(f, "rb") as fil:
            part = MIMEApplication(
                fil.read(),
                Name=basename(f)
            )
        # After the file is closed
        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)
        msg.attach(part)


    smtp = smtplib.SMTP(server)
    smtp.sendmail(send_from, send_to, msg.as_string())
    smtp.close()
MIME 메시지는 여러 MIME 부분을 지원하고 가장 바깥쪽 레이어를 형성합니다.

MIME 텍스트:

이메일 본문은 텍스트를 포함하는 MIMEText로 생성됩니다.
  1. MIMEApplication: 첨부할 파일은 MIMEApplication으로 처리되며 이름은 basename(f)을 사용하여 추출됩니다.
  2. Content-Disposition: 이 필드는 이메일 클라이언트의 첨부 파일 처리를 구성하여 첨부 파일로 지정합니다. name.
  3. SMTP: SMTP 개체는 메일 서버(기본적으로 "127.0.0.1")에 연결하도록 설정됩니다.
  4. sendmail: 이메일은 보내는 사람, 받는 사람, 메시지를 포함한 sendmail 방식으로 전송됩니다.

위 내용은 Python의 smtplib를 사용하여 이메일 첨부 파일을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.