larsobral / mentoria

0 stars 0 forks source link

email com e sem anexo em python #12

Open larsobral opened 1 year ago

larsobral commented 1 year ago
def send_email(self, current_date, to_mail_ids):
    subject = f"Relatório Indicadores - Fisia - {current_date}"
    content = """
            Relatório Indicadores de Suprimentos foi Gerado.
            """
    password = EMAIL_ACCESS_CODE
    s1 = smtplib.SMTP('[smtp.gmail.com](http://smtp.gmail.com/): 587')
    s1.starttls()
    s1.login(EMAIL_FROM, password)

    email_list = to_mail_ids.split(",")
    for mail in email_list:
        msg = MIMEMultipart()
        msg['From'] = EMAIL_FROM
        msg['Subject'] = subject
        plain_test_part = MIMEText(content, 'plain')
        msg.attach(plain_test_part)
        msg['To'] = mail
        s1.sendmail(msg['From'], msg['To'], msg.as_string())
        [log.info](http://log.info/)(f'E-mail enviado com sucesso para {mail}.')
    s1.quit()
    return to_mail_ids

def send_email(self, current_date, full_path, file_name, to_mail_ids):
    subject = f"Status diário de requisições em aberto - Centauro - {current_date}"
    content = """
            Relatório Completo SAP ME5A Centauro.
            Segue em Anexo:
            """
    f = open(full_path, "rb")
    file_content = f.read()
    f.close()

    attach = MIMEApplication(file_content, 'xlsx')
    attach.add_header('Content-Disposition', 'attachment', filename=file_name)
    password = EMAIL_ACCESS_CODE
    s1 = smtplib.SMTP('[smtp.gmail.com](http://smtp.gmail.com/): 587')
    s1.starttls()

    s1.login(EMAIL_FROM, password)
    email_list = to_mail_ids.split(",")

    for mail in email_list:
        msg = MIMEMultipart('mixed')
        msg['From'] = EMAIL_FROM
        msg['Subject'] = subject
        text_with_attachment = MIMEText(content, 'plain', 'utf-8')

        msg.attach(text_with_attachment)
        msg.attach(attach)
        msg['To'] = mail
        s1.sendmail(msg['From'], msg['To'], msg.as_string())
        [log.info](http://log.info/)(f'E-mail enviado com sucesso para {mail}.')
    s1.quit()
    return 'E-mails enviados com sucesso'