>  기사  >  백엔드 개발  >  Python의 smtplib 모듈을 사용하여 여러 수신자에게 이메일을 보내는 방법은 무엇입니까?

Python의 smtplib 모듈을 사용하여 여러 수신자에게 이메일을 보내는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-25 07:57:29133검색

How to Send Emails to Multiple Recipients Using Python's smtplib Module?

Python의 smtplib를 사용하여 여러 수신자에게 이메일을 보내는 방법

smtplib 모듈을 사용하여 여러 수신자에게 이메일을 보내려면 이메일 헤더 및 함수 매개변수.

이메일.메시지 모듈에서 "받는 사람" 헤더를 여러 주소로 설정할 때 문제가 발생합니다. 헤더에는 쉼표로 구분된 이메일 주소가 포함되어야 하지만 smtplib.sendmail() 함수는 수신자 목록을 예상합니다.

이 문제를 해결하려면 다음 단계가 필요합니다.

  1. 만들기 email.Message.MIMEMultipart()를 사용하는 이메일 메시지:
<code class="python">msg = MIMEMultipart()</code>
  1. 쉼표로 구분된 이메일 주소로 이메일 헤더 설정:
<code class="python">msg["To"] = "[email&#160;protected],[email&#160;protected],[email&#160;protected]"</code>
  1. sendmail() 함수에 대한 수신자 목록 만들기:
<code class="python">to_addrs = msg["To"].split(",")</code>
  1. sendmail() 함수를 수신자 목록과 함께 사용:
<code class="python">smtp = smtplib.SMTP("mailhost.example.com", 25)
smtp.sendmail(msg["From"], to_addrs + msg["Cc"].split(","), msg.as_string())</code>
  1. SMTP 세션 종료:
<code class="python">smtp.quit()</code>

이 접근 방식은 "To" 및 "Cc" 헤더에 지정된 모든 수신자에게 이메일을 보냅니다. 또는 아래와 같이 MIMEText()를 사용하여 더 간단한 솔루션을 찾을 수 있습니다.

<code class="python">import smtplib
from email.mime.text import MIMEText

s = smtplib.SMTP('smtp.uk.xensource.com')
s.set_debuglevel(1)
msg = MIMEText("""body""")
sender = '[email&#160;protected]'
recipients = ['[email&#160;protected]', '[email&#160;protected]']
msg['Subject'] = "subject line"
msg['From'] = sender
msg['To'] = ", ".join(recipients)
s.sendmail(sender, recipients, msg.as_string())</code>

이 버전은 단일 SMTP 연결을 사용하여 지정된 수신자에게 이메일을 보냅니다.

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

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