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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-26 05:28:02543검색

How to Send Emails to Multiple Recipients Using Python's smtplib.sendmail()?

Python smtplib를 사용하여 여러 수신자에게 이메일 보내기

Python의 smtplib.sendmail을 활용하여 여러 수신자에게 이메일을 보내려고 할 때 사용자에게 문제가 자주 발생합니다. 이메일 헤더에 여러 주소를 지정했음에도 불구하고 첫 번째 수신자만 메시지를 받습니다.

이는 email.Message 모듈과 smtplib.sendmail() 함수 간의 예상 형식 차이로 인해 발생합니다. email.Message 모듈은 헤더에 쉼표로 구분된 이메일 주소를 허용하는 반면, sendmail()에는 주소 목록이 필요합니다.

smtplib.sendmail을 사용하여 여러 수신자에게 효과적으로 이메일을 보내려면 다음 단계를 따르세요.

  1. email.MIMEMultipart 모듈을 사용하여 이메일 메시지를 만듭니다.
  2. 여러 이메일 주소를 쉼표로 구분하여 포함하도록 헤더 필드("보낸 사람", "받는 사람", "참조")를 설정합니다.
  3. sendmail() 함수의 "To" 매개변수를 수신자 이메일 주소 목록으로 설정합니다(쉼표로 구분된 헤더 필드를 분할하여 얻을 수 있음).
  4. "From" 매개변수를 다음으로 설정합니다. 보낸 사람의 이메일 주소.
  5. email.MIMEText 모듈을 사용하여 이메일 본문을 작성합니다. 이메일 메시지에 본문을 첨부하세요.
  6. SMTP 서버에 대한 연결을 구성하고 sendmail()을 사용하여 이메일을 보냅니다.

smtplib를 사용하여 여러 수신자에게 이메일을 보내는 예제 코드 .sendmail:

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

msg = MIMEMultipart()
msg["Subject"] = "Example"
msg["From"] = "sender@example.com"
msg["To"] = "recipient1@example.com,recipient2@example.com,recipient3@example.com"
msg["Cc"] = "cc1@example.com,cc2@example.com"
body = MIMEText("example email body")
msg.attach(body)
smtp = smtplib.SMTP("mailhost.example.com", 25)
smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string())
smtp.quit()</code>

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

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