Python으로 이메일을 보냅니다
Najwa Riyaz
2022년4월14일
Python을 사용하여 이메일을 보내려면smtplib
라이브러리에서 다음 함수를 사용하십시오.
SMTP(SMTP_SERVER, SMTP_PORT)
- SMTP 서버 및 SMTP 포트 세부 사항에 따라 SMTP 세션을 생성합니다.starttls()
- 보안 설정을 위해 TLS를 시작합니다.login(SMTP_USERNAME, SMTP_PASSWORD)
- 이메일 발신자의 인증 세부 정보를 제공합니다.sendmail(EMAIL_FROM, EMAIL_TO, the_message)
- 발신자로부터 수신자에게 메시지를 보냅니다.quit()
는 SMTP 세션을 종료합니다.
다음은 Gmail SMTP 서버를 통한 메일 전송을 보여주는 예입니다.
import smtplib
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SMTP_USERNAME = "sender_username_here@gmail.com"
SMTP_PASSWORD = "sender_password_here"
EMAIL_FROM = "sender_username_here@gmail.com"
EMAIL_TO = "receiver_username_here@gmail.com"
EMAIL_SUBJECT = "Attention:Subject here"
EMAIL_MESSAGE = "The message here"
s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
s.starttls()
s.login(SMTP_USERNAME, SMTP_PASSWORD)
message = "Subject: {}\n\n{}".format(EMAIL_SUBJECT, EMAIL_MESSAGE)
s.sendmail(EMAIL_FROM, EMAIL_TO, message)
s.quit()
출력은 시스템의 해당 지점에서 구축 된 연결에 따라 다음과 같이 보일 수 있습니다.
(221, b"2.0.0 closing connection t12sm4676768pfc.133 - gsmtp")
결과적으로 이메일이 전송됩니다. 수신자는 메시지를 성공적으로 수신합니다.
노트 :
- Gmail의 경우 다음 SMTP 세부 정보를 입력하세요.
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
또한 코드를 실행하기 전에 Gmail에서 다음 설정을 활성화해야합니다.
https://myaccount.google.com/lesssecureapps
- 야후 메일의 경우 다음과 같은 SMTP 정보를 제공합니다.
SMTP_SERVER = "smtp.mail.yahoo.com"
SMTP_PORT = 587
또한 코드를 실행하기 전에 Yahoo App Password
를 생성하십시오. 아래 링크를 확인하십시오.
https://help.yahoo.com/kb/generate-separate-password-sln15241.html
- 마찬가지로, 다른 메일 공급자를 사용하려면 해당 SMTP 서버 세부 정보 및 전제 조건을 사용하십시오.