반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- matplotlib
- django
- math
- Google Spreadsheet
- hive
- Apache
- numpy
- array
- string
- GIT
- c#
- gas
- Java
- google apps script
- list
- PANDAS
- Google Excel
- Excel
- Mac
- Redshift
- SQL
- 파이썬
- PySpark
- Github
- Kotlin
- Tkinter
- dataframe
- PostgreSQL
- Python
Archives
- Today
- Total
달나라 노트
Python smtplib : smtplib를 이용하여 mail 보내기 1 본문
728x90
반응형
Python의 smtplib를 이용하면 mail을 보낼 수 있습니다.
예시 코드는 아래와 같습니다.
먼저 gmail을 이용한 예시입니다.
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = 'sender@gmail.com'
sender_pw = 'password'
recipient = 'recipient@gmail.com'
list_cc = ['cc1@gmail.com', 'cc2@naver.com']
str_cc = ','.join(list_cc)
title = 'Test mail'
contents = '''
This is test mail
using smtplib.
'''
smtp_server = smtplib.SMTP( # 1
host='smtp.gmail.com',
port=587
)
smtp_server.ehlo() # 2
smtp_server.starttls() # 2
smtp_server.ehlo() # 2
smtp_server.login(sender, sender_pw) # 3
msg = MIMEMultipart() # 4
msg['From'] = sender # 5
msg['To'] = recipient # 5
msg['Cc'] = str_cc # 5
msg['Subject'] = contents # 5
msg.attach(MIMEText(contents, 'plain')) # 6
smtp_server.send_message(msg) # 7
smtp_server.quit() # 8
1. smtplib를 이용하여 smtp server에 접근합니다.
이때 gmail의 host와 port를 명시해줘야하는데 예시에 있는 값을 참고하면 됩니다.
gmail에서 제공하는 공식 가이드는 다음과 같습니다.
https://support.google.com/mail/answer/7104828?hl=ko
참고로 outlook의 setting값은 다음과 같습니다.
host = 'smtp.office365.com'
port=465
2. starttls를 시작하기 전 후에 ehlo를 선언해줍니다.
3. login을 합니다.
4. MIMEMultipart class를 생성합니다.
5. 4에서 생성한 MIMEMultipart 객체에 보내는 이메일, 받는 이메일, 메일 제목, 참조(cc) 등을 추가해줍니다.
6. 메일 본문을 넣어줍니다.
7. mail을 보냅니다.
8. smtp server를 종료합니다.
728x90
반응형
'Python > Python smtplib' 카테고리의 다른 글
Python smtplib : smtplib를 이용하여 mail 보내기 2 (0) | 2021.06.26 |
---|
Comments