Прикрепите изображение в электронном письме [дублировать]Html

Программисты Html
Ответить Пред. темаСлед. тема
Anonymous
 Прикрепите изображение в электронном письме [дублировать]

Сообщение Anonymous »

У меня проблема со скриптом Python.
Он создает электронное письмо с источником данных pandas.
Я хотел бы добавить одно или несколько изображений, но не могу.
Без картинки работают нормально.
Прошу помочь мне решить проблему.
import cx_Oracle
import pandas as pd
import sqlalchemy
import smtplib
import matplotlib

from email.mime.text import MIMEText
from email.header import Header
from email.mime.image import MIMEImage

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

def send_simple_email(host, subject, from_addr, to_addr, body, password):
# Instantiate MIMEText object
message = MIMEText(body, 'html', 'utf-8')
message['From'], message['To'] = from_addr, to_addr
message['Subject'] = Header(subject, "utf-8")
message = message.as_string() # Because SMTP.sendmail, required bytes-like string. Otherwise you will see error like: Error: expected string or bytes-like object

try:
import ssl
context = ssl.create_default_context()
server = smtplib.SMTP_SSL(host, 465, context=context)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], message)
except Exception as e:
print(f"Error: {e}")
finally:
server.quit()
print("Email Sent!")

if __name__ == "__main__":
# Connection details
user = 'USER'
pw = 'PWD'
host = '10.0.0.1'
port = '1521'
db = 'DB'

engine = sqlalchemy.create_engine('oracle+cx_oracle://' + user + ':' + pw + '@' + host + ':' + port + '/?service_name=' + db)
my_query='SELECT * FROM T_C10'
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)

host = "smtp.gmail.com" # Using Gmail server to send the email
subject = "[AUTO EMAIL] Report Sales"
html_body = f""" Sales Report {df.to_html()}
Изображение
"""

from_addr, to_addr = "[email protected]", "[email protected]"

# Open the image file in binary mode

# Get Passwork from user
import getpass

password = '1234 5678 ' # getpass.getpass()''

# Sending Email
send_simple_email(host, subject, from_addr, to_addr, html_body, password)
< /code>
Я уже прочитал связанный пост. Но с Pandas и Gmail это немного по -другому. Пожалуйста, дайте мне несколько советов. Спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-e-mail
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Прикрепите картинку в электронном письме
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Прикрепите картинку в электронном письме
    Anonymous » » в форуме Html
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Прикрепите картинку в электронном письме
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Прикрепите картинку в электронном письме
    Anonymous » » в форуме Html
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Прикрепите картинку в электронном письме
    Anonymous » » в форуме Html
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Html»