来新公司实习,要写这么个小工具。
之前没接触过Python所以代码基本上都是百度的,然后组长给了一份参考代码。我也不知道算不算原创了。。。
第一次写,顺便记录下自己的工作内容。。。 太差勿喷
import smtplib
import email.utils
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.MIMEBase import MIMEBase
from email import Encoders
import random
import os
import getpass
import time
# Prompt the user for connection info
def sendmail(to_email = '123@123.cn',content='<br/>Test message from PyMOTW.<br/>',subject='Test from PyMOTW'):
#raw_input('Recipient: ')
servername = 'smtp.XXXXX.com'#raw_input('Mail server name: ')
username = '123@123.cn' #raw_input('Mail username: ')
password = '123' #getpass.getpass("%s's password: " % username)
# 添加附件,这个附件的名称是例如Show-2000-01-01.txt的
date = time.strftime('%Y-%m-%d',time.localtime(time.time()))
file = 'Show-'+date+'.txt'
msg = MIMEMultipart()
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename = %s'%file)
msg.attach(part)
msg.set_unixfrom('name')
msg['To'] = email.utils.formataddr(('Recipient', to_email))
#print msg['To'],type(msg['To'])
#input()
msg['From'] = email.utils.formataddr(('name','123@123.cn'))
if not isinstance(subject,unicode):
subject = unicode(subject)
msg['Subject'] = subject
server = smtplib.SMTP(servername,"25")
#print msg.as_string()
#input()
try:
server.set_debuglevel(True)
# identify ourselves, prompting server for supported features
server.ehlo()
# If we can encrypt this session, do it if server.has_extn('STARTTLS'):
server.starttls()
server.ehlo() # reidentify ourselves over TLS connection
server.login(username, password)
server.sendmail('123@123.cn', to_email.split(','),msg.as_string())
except Exception as e:
print e
finally:
server.quit()
if __name__=='__main__':
to=('123@123.cn')
sendmail(to_email = '123@123.cn',content='test', subject='title')