79396380

Date: 2025-01-29 10:24:46
Score: 1.5
Natty:
Report link

I fixed something. Now the images are attached. But I can not include them in the html body of the email.

I attach as always my code. I would like to thank you in advance

import smtplib
import mimetypes
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

import oracledb
import pandas as pd
import sqlalchemy
import smtplib
import matplotlib


image_path="C:\\Users\\n.restaino\\PycharmProjects\\pythonProject\\.venv\\barchart1.png"

if __name__ == "__main__":
    # Connection details
    user = 'a'
    pw = 'a'
    host = 'SRV-1'
    port = '1521'
    db = '2'


    engine = sqlalchemy.create_engine('oracle+cx_oracle://' + user + ':' + pw + '@' + host + ':' + port + '/?service_name=' + db)
    my_query='SELECT tc10_clfo tipo, count(*) numero FROM T_C10 GROUP BY tc10_clfo'
    df = pd.read_sql(my_query, engine)
    ax = df.plot.bar(x='tipo', y='numero', rot=0)

    fig = ax.get_figure()
    fig.savefig(image_path)



email_user = '[email protected]'
password_user = '1234 5678 9012 3456'
email_send = '[email protected]'
subject = 'Python'

msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject

body = f"""<h1> Sales Report </h1> {df.to_html()}
                    <image src="cid:'image'"/>
        """
msg.attach(MIMEText(body,'html'))

msgRoot = MIMEMultipart('mixed')
msgAlternative = MIMEMultipart('mixed')

fp='C:\\Users\\n.restaino\\PycharmProjects\\pythonProject\\.venv\\barchart1.png'
attachment =open(fp,'rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+fp, cid='image')
msg.attach(part)

fp='C:\\Users\\n.restaino\\PycharmProjects\\pythonProject\\.venv\\barchart1 - Copia.png'
attachment =open(fp,'rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+fp)
msg.attach(part)



part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+fp)

msg.attach(part)
text = msg.as_string()
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(email_user, password_user)

server.sendmail(email_user,email_send,text)
server.quit
Reasons:
  • Blacklisted phrase (0.5): thank you
  • Whitelisted phrase (-2): I fixed
  • RegEx Blacklisted phrase (3): thank you in advance
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Nixi80