Python 3.4 send mail

9042 ワード

#coding=utf-8
#Python 3.4  https://docs.python.org/3.4/library/
#IDE:Visual Studio 2015  Window10
import atexit
import os
import unicodedata
import sys
import time
import unicodedata
import winsound
import code
import codecs
import math
import csv
import base64
import re
import smtplib 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart
from email.header import Header  
from email.mime.image import MIMEImage
from email.mime.base import MIMEBase  
from email.utils import COMMASPACE, formatdate  
import email
import os.path  
import sys   
import mimetypes   
import configparser 
import string  

#https://docs.python.org/3.4/library/email.html
#https://docs.python.org/3/library/email-examples.html

inifile='F:/Python/055.JPG'  
#config=ConfigParser.ConfigParser()  
#config.read(inifile)  
#os.remove(inifile) #     
subject=Header("             ","utf-8")  #    
ReplyToName="[email protected]"  
ReplyToMail="[email protected]"  
To="[email protected]" 
bcc="[email protected]"; 
cc="[email protected]";
COMMASPACE = ', ';
file_name=inifile #"file_name"  
From = "%s<[email protected]>" % Header("             ","utf-8")  #      
server = smtplib.SMTP("mail.dusystem.com",25)  
server.login("[email protected]","888") # smtp          
  
#   MIMEMultipart         
main_msg =  MIMEMultipart("alternative");  #alternative   related  2.x   email.MIMEMultipart.MIMEMultipart()
#   MIMEText                   
text_msg =MIMEText("xxx       ", _subtype='html',_charset="utf-8")  #      2.x    email.MIMEText.MIMEText
main_msg.attach(text_msg)  

#   MIMEBase                   

#     ,    
#fp = open(file_name, 'rb')    
#msgImage = MIMEImage(fp.read())    
#fp.close()        
#msgImage.add_header('Content-ID', '<image1>')    
#main_msg.attach(msgImage)  

   
##        
#basename = os.path.basename(file_name)  
#file_msg.add_header('Content-Disposition','attachment', filename = basename)#       
file_msg = MIMEText(open(file_name, 'rb').read(), 'base64', 'utf-8')    #   
file_msg["Content-Type"] = 'application/octet-stream'    
file_msg["Content-Disposition"] = 'attachment; filename="055.JPG"' 

main_msg.attach(file_msg)  
#          
main_msg['From'] = From  
if ReplyToMail!='none':  
    main_msg['Reply-to'] = "%s<%s>" % (Header(ReplyToName,"utf-8"),ReplyToMail)  
main_msg['To'] = To;  
main_msg['Subject'] = subject;  
main_msg['Cc']=cc;
main_msg['Bcc'] = bcc;  #   
main_msg['Date'] =formatdate(localtime=True) 
#              
fullText = main_msg.as_string()  
#  smtp      
try:  
    server.sendmail(From, To.split(';'), fullText)  
finally:  
    server.quit()  
    #os.remove(file_name)  
print("      ");

画像をアップロード
ファイルを送信
#coding=utf-8
#Python 3.4  https://docs.python.org/3.4/library/
#IDE:Visual Studio 2015  Window10
import atexit #  
import os
import unicodedata
import sys
import time
import unicodedata
import winsound
import code
import codecs
import math
import csv
import base64
import re
import smtplib 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart
from email.header import Header  
from email.mime.image import MIMEImage
from email.mime.base import MIMEBase  
from email.encoders import encode_base64
from email.mime.application import MIMEApplication 
from email.utils import COMMASPACE, formatdate  
import email
import os.path  
import sys   
import mimetypes   
import configparser 
import string  
import mimetypes
import base64;

#https://docs.python.org/3.4/library/email.html
#https://docs.python.org/3/library/email-examples.html

inifile=u'F:/Python/      .doc'  
#config=ConfigParser.ConfigParser()  
#config.read(inifile)  
#os.remove(inifile) #     
subject=Header("             ","utf-8")  #    
ReplyToName="[email protected]"  
ReplyToMail="[email protected]"  
To="[email protected]" 
bcc="[email protected]"; 
cc="[email protected]";
COMMASPACE = ', ';
file_name=inifile #"file_name"  
From = "%s<[email protected]>" % Header("             ","utf-8")  #      
server = smtplib.SMTP("mail.dusystem.com",25)  
server.login("[email protected]","888") # smtp          
  
#   MIMEMultipart         
main_msg =  MIMEMultipart("alternative");  #alternative   related  2.x   email.MIMEMultipart.MIMEMultipart()
#   MIMEText                   
text_msg =MIMEText("       ,    ", _subtype='html',_charset="utf-8")  #      2.x    email.MIMEText.MIMEText
main_msg.attach(text_msg)  

#   MIMEBase                   

#     ,    
#fp = open(file_name, 'rb')    
#msgImage = MIMEImage(fp.read())    
#fp.close()        
#msgImage.add_header('Content-ID', '<image1>')    
#main_msg.attach(msgImage)  

   
##        
#basename = os.path.basename(file_name)  
#file_msg.add_header('Content-Disposition','attachment', filename = basename)#       
#  
#file_image="F:/Python/055.jpg";
#file_msg = MIMEText(open(file_image, 'rb').read(), 'base64', 'utf-8')    #       
#file_msg["Content-Type"] = 'application/octet-stream'     #   (application/octet-stream)  , WORD  
#file_msg["Content-Disposition"] = 'attachment; filename="055.jpg"' 
#1        
#contentType, encoding = mimetypes.guess_type(file_name)
#mainType, subType = contentType.split('/', 1)  
#file = open(file_name, 'rb')
#attachment = MIMEBase(mainType, subType)
#attachment.set_payload(file.read())  
#encode_base64(attachment)  
#file.close()   
#basename = os.path.basename(file_name);
#attachment.add_header('Content-Disposition', 'attachment',filename=basename)
#attachment.add_header('Content-Disposition', 'attachment',filename=os.path.basename(file_name))  #file_name 

#2       
#file_msg = MIMEApplication(open(file_name, 'rb').read())    #     
#file_msg.add_header('Content-Disposition', 'attachment', filename="     .doc")  
#main_msg.attach(file_msg)  #file_msg

#3  :  att   
basename = os.path.basename(file_name) 
att = MIMEText(open(file_name, 'rb').read(), 'base64', 'utf-8')  
att["Content-Type"] = 'application/octet-stream' 
att["Content-Disposition"] = 'attachment; filename=%s' % basename.encode("utf-8") 
main_msg.attach(att)  

#          
main_msg['From'] = From  
if ReplyToMail!='none':  
    main_msg['Reply-to'] = "%s<%s>" % (Header(ReplyToName,"utf-8"),ReplyToMail)  
main_msg['To'] = To;  
main_msg['Subject'] = subject;  
main_msg['Cc']=cc;
main_msg['Bcc'] = bcc;  #   
main_msg['Date'] =formatdate(localtime=True) 
#              
fullText = main_msg.as_string()  
#  smtp      
try:  
    server.sendmail(From, To.split(';'), fullText)  
finally:  
    server.quit()  
    #os.remove(file_name)      
print("      ");

  
#4.     
file_name=u'F:/Python/     .doc'
urlfilename="     .doc"
att = MIMEBase('application', 'octet-stream')  
att.set_payload(open(file_name, 'rb').read())  
att.add_header('Content-Disposition', 'attachment', filename=('gbk', '', urlfilename) )  #gbk    ,     。
encode_base64(att) 
main_msg.attach(att)