728x90
반응형
티스토리
smtplib 라이브러리를 사용한 예제
파일을 첨부하여 대량으로 메일 보내는 코드를 알아 봅시다.
1. 코드리뷰
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
def send_email(send_email, send_pwd, recv_email, subject, body, attachment_path):
# Create message
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = send_email
msg['To'] = recv_email
# Attach body
text = MIMEText(body)
msg.attach(text)
# Attach file
with open(attachment_path, 'rb') as file:
attachment = MIMEApplication(file.read())
attachment.add_header('Content-Disposition', 'attachment', filename="abcd.txt")
msg.attach(attachment)
# Connect to SMTP server and send email
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(send_email, send_pwd)
server.sendmail(send_email, recv_email, msg.as_string())
# 사용 예시
send_email(
send_email="보내는메일",
send_pwd="비밀번호",
recv_email="받는메일",
subject="메일보내기 테스트입니다.",
body="첨부파일과 함께 몌일 보내기.\n감사합니다.",
attachment_path=r'c:\xxx\abcd.txt'
)
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
def send_email(send_email, send_pwd, recv_email, subject, body, attachment_path):
# Create message
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = send_email
msg['To'] = recv_email
# Attach body
text = MIMEText(body)
msg.attach(text)
# Attach file
with open(attachment_path, 'rb') as file:
attachment = MIMEApplication(file.read())
attachment.add_header('Content-Disposition', 'attachment', filename="abcd.txt")
msg.attach(attachment)
# Connect to SMTP server and send email
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(send_email, send_pwd)
server.sendmail(send_email, recv_email, msg.as_string())
# 사용 예시
send_email(
send_email="보내는메일",
send_pwd="비밀번호",
recv_email="받는메일",
subject="메일보내기 테스트입니다.",
body="첨부파일과 함께 몌일 보내기.\n감사합니다.",
attachment_path=r'c:\xxx\abcd.txt'
)
msg.attach(rb_file)
s=smtplib.SMTP( smtp_name , smtp_port )
s.starttls()
s.login( send_email , send_pwd )
s.sendmail( send_email, recv_email, msg.as_string() )
s.quit()
마무리
- 이번 포스팅은 smtplib로 메일보내는 앱 만들기 에 대해 알아봤습니다.
궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.
728x90
반응형
'PYTHON 파이썬' 카테고리의 다른 글
[파이썬] day.weekday() 주어진 날짜의 요일을 확인 (0) | 2023.12.25 |
---|---|
[라이브러리/textwrap ] 텍스트 정렬하기 (0) | 2023.12.25 |
파이썬으로 Hello World 를 찍자 (print 문법) (0) | 2023.06.18 |
데이터 타입 (Data Types) (0) | 2023.06.17 |
파이썬 초보자를 위한 핵심 팁과 꿀팁 (0) | 2023.06.17 |