언어/Python

유틸 - 메일 보내기

xzpluszone 2021. 9. 24. 13:45

python sendmail util

from
userid
passwd
알맞게 적절히 수정을 하세요.
아래는 예시 입니다.

#-*- coding: utf-8 -*-
import sys
import os
from optparse import OptionParser
from datetime import datetime
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
from email import Utils
from email.header import Header

FROM = "leesang@leesang.co.kr" def send_email(to, sender, cc, subject, text, attach):

SMTP 설정 부분

smtp_server = "smtp.gmail.com" smtp_port = 587
userid = "leesang100" passwd = "leesang0802" msg = MIMEMultipart()
msg["From"] = sender
msg["To"] = to
msg["Cc"] = cc msg["Subject"] = Header(s=subject, charset="utf-8")
msg["Date"] = Utils.formatdate(localtime = 1)
msg.attach(MIMEText(text, "html", _charset="utf-8"))
if (attach != None):
files = attach.split(",")
for i in files:
print "i : "+i
if i.count('&') > 0:
fName = i.split("&")
tokenName = fName[0]
originalName = fName[1]
print "1. tokenName : "+tokenName
print "1. originalName : "+originalName
else:
tokenName = i
originalName = os.path.basename(i)
print "2. tokenName : "+tokenName
print "2. originalName : "+originalName
part = MIMEBase("application", "octet-stream")
part.set_payload(open(tokenName, "rb").read())
Encoders.encode_base64(part)

part.add_header("Content-Disposition", "attachment; filename=\"%s\"" % originalName)

msg.attach(part)
smtp = smtplib.SMTP(smtp_server, smtp_port)
print FROM print to
print msg.as_string()
smtp.ehlo()
smtp.starttls()
smtp.login(userid, passwd)
smtp.sendmail(FROM, to, msg.as_string())
smtp.close()
send_email("xzpluszone@gmail.com", FROM, "", "object","message", None)
 
[root@test ~]# python test.py
leesang@leesang.co.kr
xzpluszone@gmail.com
Content-Type: multipart/mixed; boundary="===============7375729258849087946=="
MIME-Version: 1.0
From: leesang@leesang.co.kr
To: xzpluszone@gmail.com
Cc:
Subject: =?utf-8?q?object?=
Date: Thu, 24 Dec 2020 16:25:10 +0900
--===============7375729258849087946==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
bWVzc2FnZQ==
--===============7375729258849087946==--