恩恩。。奇怪,剛纔是用了另外一個賬號發嗎。。不管了反正都是新的。
來新公司實習,需要一個發郵件的小工具來給自己用。
之前沒接觸過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 = '[email protected]',content='<br/>Test message from PyMOTW.<br/>',subject='Test from PyMOTW'):
#raw_input('Recipient: ')
servername = 'smtp.XXXXX.com'#raw_input('Mail server name: ')
username = '[email protected]' #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','[email protected]'))
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('[email protected]', to_email.split(','),msg.as_string())
except Exception as e:
print e
finally:
server.quit()
if __name__=='__main__':
to=('[email protected]')
sendmail(to_email = '[email protected]',content='test', subject='title')