import smtplib
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email import encoders
from io import BytesIO
 
def get_attachment():
##    bytes = BytesIO()
##    img.save(bytes, format='JPEG')
##    msg = MIMEBase('image', 'jpeg')
##    msg.set_payload(bytes.getvalue())
##    encoders.encode_base64(msg)
##    msg.add_header('Content-Disposition', 'attachment',  filename='image.jpeg')

    part = MIMEBase('image', 'jpeg')
    part.set_payload(open('54.jpeg', 'rb').read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', 'attachment',  filename='54.jpeg')
   #msg.attach(part)
    return part
 
def main():
### CHANGE THESE VALUES:
    to = 'patrice.delpy@free.fr'
    subject = 'Image en transite'
    gmail_user = 'delpypatrice@gmail.com'
    gmail_pwd = 'Un92pac007'

#Load a sample image, modify as needed:
    #image= open('54.jpeg', 'rb')
    #image = Image.open('Test_Lenna')
    print('Connecting...')
    smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.ehlo
    smtpserver.login(gmail_user, gmail_pwd)
    print('Preparing message...')
    outer = MIMEMultipart()
    outer['Subject'] = subject
    outer['To'] = to
    outer['From'] = gmail_user
    outer.preamble = 'You will not see this in a MIME-aware email reader.\n'
    attachment = get_attachment()
    outer.attach(attachment)
    composed = outer.as_string()
    print('Sending...')
    smtpserver.sendmail(gmail_user, to, composed)
    smtpserver.close()
    print('Done.')
 
if __name__ == '__main__':
    main()