Python을 사용하여 여러 주소로 이메일 보내기

Abid Ullah 2023년6월21일
  1. Python을 사용하여 여러 주소로 이메일 보내기
  2. Python의 smtplib 모듈
  3. Python에서 smtplib를 사용하여 이메일 보내기
  4. 덜 안전한 앱에 대한 액세스 제어
  5. Python에서 smtplib를 사용하여 이메일 보내기
Python을 사용하여 여러 주소로 이메일 보내기

이 기사에서는 Python 프로그래밍 언어를 사용하여 다양한 이메일 주소를 사용하여 다양한 수신자에게 이메일을 보내는 방법을 보여줍니다. 특히, 우리는 많은 다른 사람들에게 이메일을 보낼 것입니다.

Python을 사용하여 여러 주소로 이메일 보내기

Python은 단순히 웹 사이트를 구축하거나 인공 지능을 사용하기 위한 프로그래밍 언어 그 이상입니다.

백엔드, 프런트 엔드 또는 웹 애플리케이션의 전체 스택에서 사용할 수 있는 언어입니다. 따라서 다재다능함으로 인해 유용한 도구가 됩니다.

Python은 이제 이메일을 자동화하는 데에도 사용할 수 있는 언어로 발전했습니다. 이메일과 관련된 작업은 Python을 사용하여 쉽게 자동화할 수 있습니다.

Python을 사용하여 동시에 여러 수신자에게 이메일을 보내려면 몇 줄의 코드가 필요합니다.

이 Python 기사에서는 Python을 사용하여 여러 수신자에게 동시에 이메일을 보내는 방법을 보여줍니다.

특히 smtplib와 같은 모듈을 사용하는 경우 Python을 사용하여 이메일을 보내는 것은 그리 어렵지 않습니다. 이 라이브러리는 메일 서버에 연결하고 메시지를 전달하기 위해 알아야 할 모든 것을 처리합니다.

다양한 주소로 이메일을 보낼 수 있도록 Python 스크립트를 구성하는 과정을 단계별로 안내합니다. 또한 시작할 때 사용할 수 있는 몇 가지 예제 코드가 포함되어 있습니다.

smtplib를 사용하려면 먼저 서버에 대한 연결을 설정해야 합니다. 파일에 액세스하려면 서버의 위치와 로그인 및 암호를 제공해야 합니다.

연결을 설정한 후 서로 메시지를 보낼 수 있습니다.

메시지를 보내려면 먼저 메시지 개체를 빌드한 다음 from, to 및 주제 필드에 대한 헤더를 제공해야 합니다. ccbcc 수신자를 추가할 수도 있습니다.

메시지가 생성된 후 텍스트, HTML 또는 첨부 파일을 추가할 수 있는 옵션이 제공됩니다.

메시지를 보낼 준비가 되면 smtplib 모듈에 포함된 sendmail() 함수를 사용할 수 있습니다. 이 기술에는 수신자 목록이 필요하며 목록에 있는 각 개인과 통신합니다.

이제 smtplib부터 시작하겠습니다.

Python의 smtplib 모듈

smtplib는 파이썬에 내장된 모듈입니다. 클라이언트 세션 개체가 있습니다.

smtplibSMTP 클라이언트 세션 개체를 정의합니다. 이 객체는 SMTP 또는 ESMTP 리스너 데몬을 실행하는 인터넷에 연결된 모든 컴퓨터에 이메일을 전달하는 데 사용할 수 있습니다.

응용 프로그램 프로그래머는 작업에 이 모듈을 직접 사용하지 않아도 됩니다. 시스템 관리 작업을 자동화하기 위해 스크립트를 작성하는 시스템 관리자는 이 리소스에 대한 액세스 권한이 유용하다는 것을 알게 될 것입니다.

smtplib 모듈 클래스

smtplib 모듈은 다음 클래스를 정의합니다.

  1. SMTP - SMTP 클라이언트 세션 개체
  2. SMTP_SSL - SSL 연결을 통한 SMTP 클라이언트 세션
  3. IMAP4 - IMAP4 클라이언트 세션 객체
  4. POP3 - POP3 클라이언트 세션 객체

이러한 클래스는 모두 동일한 메서드와 특성을 가집니다.

smtplib 모듈 예외

smtplib 모듈은 또한 다음 예외를 정의합니다.

  1. SMTPException - 모든 SMTP 관련 예외에 대한 기본 클래스입니다.
  2. SMTPServerDisconnected - SMTP 서버 연결이 예기치 않게 끊어졌습니다.
  3. SMTPResponseException - SMTP 서버가 2xx 이외의 오류 코드를 반환했습니다.
  4. SMTPSenderRefused - SMTP 서버가 보낸 사람의 주소 수락을 거부했습니다.
  5. SMTPRecipientsRefused - SMTP 서버가 모든 수신자 주소 수락을 거부했습니다.
  6. SMTPDataError - SMTP 서버가 메시지 데이터를 수락하지 않습니다.
  7. SMTPConnectError - SMTP 서버에 연결할 수 없습니다.
  8. SMTPHeloError - SMTP 서버가 HELO 명령에 제대로 응답하지 않았습니다.
  9. SMTPNotSupportedError - SMTP 서버가 요청한 기능을 지원하지 않습니다.
  10. SMTPAuthenticationError - SMTP 서버가 사용자 이름/암호를 수락하지 않았습니다.

Python을 사용하여 이메일을 보내는 주요 주제로 이동하겠습니다.

Python에서 smtplib를 사용하여 이메일 보내기

Google이 Gmail 계정에 대한 보안 수준이 낮은 앱 액세스를 단속하고 있다는 것은 비밀이 아닙니다. 이것은 많은 사용자, 특히 Python을 사용하여 Gmail 계정을 통해 이메일을 보내는 사용자에게 큰 좌절감을 안겨주었습니다.

안타깝게도 Google은 더 이상 Gmail 계정에 대한 보안 수준이 낮은 앱 액세스를 허용하지 않습니다. Python의 smtplib 모듈을 사용하여 Gmail 계정을 통해 이메일을 보내려면 계정이 안전한지 확인하기 위해 몇 가지 추가 단계를 수행해야 합니다.

따라서 가장 먼저 할 일은 보안 수준이 낮은 앱에 대한 액세스를 제어하는 것입니다.

덜 안전한 앱에 대한 액세스 제어

아시다시피 Google은 보안 수준이 낮은 앱이라는 기능에 대한 지원을 중단했습니다. 이 기능을 사용하면 Microsoft Outlook, Thunderbird 또는 Apple Mail과 같은 프로그램을 사용하여 Gmail 계정에 액세스할 수 있습니다.

이것은 고통처럼 들릴 수 있습니다. 그래도 좋은 일이야! 보안 수준이 낮은 앱은 주요 보안 위험이며 Google에서 더 이상 지원하지 않으므로 계정을 안전하게 유지하는 데 도움이 됩니다.

우리의 경우처럼 Python의 smtplib가 Gmail에 액세스하기를 원합니다. 걱정하지 마세요! Gmail 계정 비밀번호를 제공할 필요가 없습니다.

다음의 간단한 단계에 따라 안전하게 전환할 수 있습니다.

  • 보안 연결 사용

    Gmail 계정을 통해 이메일을 보낼 때는 항상 보안 연결을 사용하십시오. Gmail은 SSL과 TLS라는 두 가지 유형의 연결을 제공합니다.

    SSL(Secure Sockets Layer)은 두 프로토콜 중 이전 프로토콜이며 TLS만큼 안전하지 않습니다. 그러나 암호화되지 않은 연결보다 여전히 더 안전합니다.

    TLS(Transport Layer Security)는 SSL보다 새롭고 더 안전한 프로토콜입니다. Gmail은 사용 가능한 경우 자동으로 TLS를 사용합니다.

  • Gmail 계정에 로그인

    Python 모듈 smtplib을 사용하여 이메일을 보내기 전에 Gmail 계정에서 생성된 이메일과 암호가 필요하기 때문에 먼저 계정에 로그인해야 합니다.

  • 계정 관리

    계정에 로그인하면 Gmail 프로필 아이콘을 클릭해야 합니다. 드롭다운과 [Google 계정 관리] 옵션이 표시됩니다.

    다음 단계로 이동하려면 클릭해야 합니다.

  • 보안

    [Google 계정 관리]를 클릭하면 보안 옵션을 찾을 수 있는 다음 페이지로 리디렉션됩니다. 클릭해야합니다.

  • Google에 로그인

    보안을 클릭하면 Google에 로그인 옵션을 찾을 수 있는 Gmail의 다른 부분으로 리디렉션됩니다.

    아래 이미지는 Google에 로그인에 두 가지 옵션이 있음을 보여줍니다.

    1. 2단계 인증

    2. 앱 비밀번호

    Google에 서명

  • 2단계 인증 활성화

    또 다른 중요한 보안 조치는 Gmail 계정에 대해 이중 인증을 활성화하는 것입니다. 2단계 인증은 휴대전화의 코드와 비밀번호를 입력하도록 요구하여 추가 보안 계층을 추가합니다.

    이제 2단계 인증을 먼저 켜야 합니다. 매우 쉽습니다. 몇 초 안에 할 수 있습니다.

  • ‘앱 비밀번호’

    2단계 인증을 완료한 후 앱 비밀번호로 이동하여 Gmail 계정에서 비밀번호를 생성해야 합니다.

    클릭하면 아래 언급된 페이지로 리디렉션됩니다.

    앱 비밀번호

이제 앱 선택장치 선택에서 옵션을 확인해야 합니다.

암호 생성

우리의 경우 MailWindows Computer또는 다른 장치를 선택하여 더 나아가 암호를 얻습니다. 그런 다음 생성 버튼을 클릭합니다.

비밀번호 생성됨

생성 버튼을 클릭하면 Google이 이메일용 비밀번호를 생성한 것을 볼 수 있는 다른 페이지로 리디렉션됩니다. 이 비밀번호는 Python의 smtplib를 사용하여 이메일을 보내는 동안 사용할 수 있습니다.

이제 이메일 비밀번호를 안전하게 생성했습니다. 이제 smtplib를 사용하여 이메일을 보내기 위해 Python으로 이동할 수 있습니다.

Python에서 smtplib를 사용하여 이메일 보내기

smtplib 모듈을 사용하면 Python을 사용하여 이메일을 쉽게 보낼 수 있습니다. smtplib를 사용하여 이메일을 보내기 위해 수행해야 하는 몇 가지 단계가 있습니다.

먼저 SMTP 개체를 만들어야 합니다. 다음으로 connect() 메서드를 사용하여 서버에 연결해야 합니다.

마지막으로 msg.set_content 메서드를 사용하여 이메일을 보낼 수 있습니다. 코드 단계에 대해 자세히 살펴보겠습니다.

  • 라이브러리 가져오기

    먼저 smtplib를 가져옵니다. 이것이 프로토콜이며 이 프로토콜은 이메일을 보내는 데 도움이 됩니다.

  • 이메일 형식

    Python에서 이메일 형식을 사용하려면 email.message import EmailMessage를 사용합니다. 제목, 보낸 사람, 받는 사람보내기와 같이.

  • 이메일 주소

    이제 우리는 이메일 주소를 콤마로 표기합니다. 이메일을 보내려는 이메일입니다.

  • 비밀번호

    이제 이전에 Gmail을 통해 생성한 생성된 비밀번호를 작성합니다.

  • Gmail 데이터베이스에 액세스

    Gmail 데이터베이스에 액세스하려면 smtplib.SMTP_SSL('smtp.gmail.com', 465)을 사용합니다. 이를 통해 Gmail 데이터베이스에 연결할 수 있습니다.

  • 로그인

    이제 server.login 명령을 사용하여 생성된 비밀번호를 통해 이메일에 로그인합니다.

  • 보내다

    이제 v=server.send_message를 사용하여 이메일을 통해 메시지를 보냅니다.

  • 인쇄

    이메일이 성공적으로 전송되면 이메일이 성공적으로 전송되었습니다라는 인쇄된 메시지가 표시됩니다.

예제 코드:

import smtplib
from email.message import EmailMessage

EMAIL_ADDRESS = "iqraanwar097@gmail.com"
EMAIL_PASSWORD = "***************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully")

출력:

Email Subject: Email sent using python
Email has been sent successfully

이것이 하나의 이메일 주소로 이메일을 보내는 방법입니다. 그러나 이메일을 여러 주소로 보내려면 쉼표를 사용하여 이메일을 구분하고 원하는 만큼의 주소로 이메일을 보낼 수 있습니다.

예제 코드:

import smtplib
from email.message import EmailMessage

EMAIL_ADDRESS = "abs@gmail.com"
EMAIL_PASSWORD = "*************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com,abidork41@gmail.com,abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully to all the addresses")

출력:

Email Subject: I have a news for you all
Email has been sent successfully to all the addresses

우리의 이메일은 언급된 모든 주소로 전송됩니다.

그럼 이것으로 토론을 마치겠습니다! Python을 사용하여 한 번에 여러 사람에게 빠르고 쉽게 이메일을 보낼 수 있습니다. 코드 몇 줄만 있으면 됩니다.

이 기사가 Python을 사용하여 여러 주소로 이메일을 보내는 방법을 이해하는 데 도움이 되기를 바랍니다.

작가: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

관련 문장 - Python Email