이메일 보내기 앱

sz L·2023년 3월 15일
0

MINII_Project

목록 보기
9/15
post-thumbnail

SMTP

SMTP 프로토콜을 사용해 이메일을 전송하고 수신할 수 있는 메일 서버

MIME

ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 전자 우편을 보낼 수 있는 방식


# 이메일 보내기 앱
import smtplib # 메일 전송 프로토콜
# SMTP 프로토콜을 사용해 이메일을 전송하고 수신할 수 있는 메일 서버
from email.mime.text import MIMEText # ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 전자 우편을 보낼 수 있는 방식

send_email = 'dltnwls9988@naver.com'
send_pass = 'tnwls4792@' # 깃허브엔 올리지말자

recv_email = 'dltnwls0987522@gmail.com'

smtp_name = 'stmp.naver.com'
smtp_port = 587 # 포트번호

text = '''메일 내용입니다. 긴급입니다.
조심하세요~ 빨리 연락주세요!!'''

msg = MIMEText(text)
msg['Subject'] = '메일 제목입니다.'
msg['From'] = send_email # 보내는 메일
msg['To'] = recv_email # 받는 메일

print(msg.as_string())


# 이메일 보내기 앱
import smtplib # 메일 전송 프로토콜
# SMTP 프로토콜을 사용해 이메일을 전송하고 수신할 수 있는 메일 서버
from email.mime.text import MIMEText # ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 전자 우편을 보낼 수 있는 방식

send_email = 'dltnwls9988@naver.com'
send_pass = '*********' # 깃허브엔 올리지말자

recv_email = 'dltnwls0987522@gmail.com'

smtp_name = 'smtp.naver.com'
smtp_port = 587 # 포트번호

text = '''메일 내용입니다. 긴급입니다.
조심하세요~ 빨리 연락주세요!!'''

msg = MIMEText(text)
msg['Subject'] = '메일 제목입니다.'
msg['From'] = send_email # 보내는 메일
msg['To'] = recv_email # 받는 메일

print(msg.as_string())

mail = smtplib.SMTP(smtp_name,smtp_port) # SMTP 객체생성
mail.starttls() # 전송계층보안 시작
mail.login(send_email,send_pass)
mail.sendmail(send_email,recv_email,msg=msg.as_string())
mail.quit()
print('전송완료!')




스팸메일 보내기

  1. 스팸 메일 보낼 리스트 엑셀로 만들기

  2. 코드 작성

# 대량 메일 전송
from openpyxl import load_workbook # pip install openpyxl

wbook = load_workbook('./StudyPython/SpamMailList.xlsx',data_only=True)
wsheet = wbook.active # sheet1 선택

for i in range(1, wsheet.max_row+1):
    recv_email = wsheet.cell(i,1).value
    print(recv_email)

# 대량 메일 전송
from openpyxl import load_workbook # pip install openpyxl
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

wbook = load_workbook('./StudyPython/SpamMailList.xlsx',data_only=True)
wsheet = wbook.active # sheet1 선택

for i in range(1, wsheet.max_row+1):
    recv_mail = wsheet.cell(i,1).value
    print(recv_mail)

    try:
        # 실제 메일전송 로직
        send_mail = 'dltnwls9988@naver.com'
        send_pass = 'tnwls7522' # 깃허브에 올리지 말자
        smtp_name = 'smtp.naver.com'
        smtp_port = 587
        msg = MIMEMultipart()
        msg['Subject'] = '엑셀에서 보내는 메일!!'
        msg['From'] = send_mail
        msg['To'] = recv_mail
        msg.attach(MIMEText('보내는 내용입니다. 집가고싶다!'))

        mail = smtplib.SMTP(smtp_name,smtp_port) # 객체생성
        mail.starttls() #보안
        mail.login(send_mail,send_pass)
        mail.sendmail(send_mail,recv_mail,msg.as_string())
        mail.quit()
        print(f'전송성공 : {recv_mail}')
    except Exception as e:
        print(f'수신메일 - {recv_mail}')
        print(f'전송에러 : {e}')



profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글