Отправить письмо на основе вывода на печать - Python - PullRequest
0 голосов
/ 23 апреля 2020

Я написал скрипт, который проверит формат файла .docx в определенном формате и выдаст вывод на функцию печати.

import glob

if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
    print("File exist")
else:
    print("File not exist")

Я хочу отправить электронное письмо на основе вывода функции печати. Например, если «Файл не существует», отправьте электронное письмо на номер abc@test.com.

. Я видел в Интернете, как отправлять электронную почту с помощью python, но я не знаю, как я могу отправить электронное письмо на основе выхода моего функция печати.

Любая помощь по этому вопросу будет очень полезна.

Ответы [ 3 ]

1 голос
/ 23 апреля 2020

import glob,ssl,smtplib

def send_mail(message=None):
    port = 587
    smtp_server = "smtp.gmail.com"
    sender_email = "my@gmail.com"
    receiver_email = "your@gmail.com"
    password = "password"

    context = ssl.create_default_context()
    with smtplib.SMTP(smtp_server, port) as server:
        server.starttls(context=context)
        server.login(sender_email, password)
        server.sendmail(sender_email, receiver_email, message)


if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
    print("File exist")
else:
    print("File not exist")
    send_mail("File doesn't exist")

1 голос
/ 23 апреля 2020

Ваш код готов сделать то, что вы хотите.

Если вы хотите отправить электронное письмо, если «файл не существует», просто напишите свой код электронной почты под печатью («файл не существует») примерно так:

import glob

if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
    print("File exist")
else:
    print("File not exist")
    write your code here which sends the email.

Если вы хотите электронное письмо чтобы быть отправленным, когда «файл существует», поместите ваш код в «печать (« файл существует ») следующим образом:

import glob

if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
    print("File exist")
    write your code here which sends the email.

else:
    print("File not exist")
1 голос
/ 23 апреля 2020

Сделайте это:

глобус импорта

if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
    msg = "File exist"
    print(msg)
else:
    msg = "File not exist"
    print(msg)

if msg == "File not exist":
    # Write your email send logic here 

ИЛИ

Поскольку в блоке else вашей функции вы печатаете «Файл не существует», там и пишите электронный лог c

 if glob.glob('//gbhfrd01/directorates/Business Support/Test/john//Python/*.docx'):
        print("File exist")
    else:
        print("File not exist")

        # Write your email logic here
...