Ich bin es leid, täglich YWT-Berichte zu machen ... Selbst wenn ich eine E-Mail-Vorlage erstelle, muss ich das heutige Datum in die Betreffzeile einfügen ... Dies ist ein Artikel, in dem versucht wurde, Outlook-E-Mails automatisch mit Python zu erstellen. Da dies mein erster Beitrag ist, gibt es verschiedene seltsame Punkte, aber diese sind durch ...
** Über YWT [hier](https://www.kikakulabo.com/tpl-ywt/#:~:text=YWT%E3%81%A8%E3%81%AF%E3%80%81%E3 % 80% 8CY% EF% BC% 9A,% E3% 81% AE% E6% B5% 81% E3% 82% 8C% E3% 81% AF% E5% 90% 8C% E3% 81% 98% E3% 81% A7% E3% 81% 99% E3% 80% 82) **
Was 3 betrifft, so wird das gestrige T oft in das heutige Y geschrieben Gibt es noch jemanden, der es braucht?
import win32com.client
import datetime
import re
#Holen Sie sich den Text der gestrigen täglichen Berichtspost
today = datetime.datetime.now()
object = win32com.client.Dispatch("Outlook.Application")
ns = object.GetNamespace("MAPI")
folder = ns.GetDefaultFolder(6) #6 repräsentiert den Outlook-Posteingangsordner
days_cnt = 1
flag = False #Richtig, wenn die tägliche Berichtsmail von gestern gefunden wird, Falsch, wenn sie nicht gefunden wird
#Finden Sie den gestrigen Tagesbericht
while flag == False:
yesterday = today - datetime.timedelta(days=days_cnt)
yesterday_sub ="Tagesbericht[{}Mond{}Tag]".format(yesterday.month,yesterday.day)
for i in reversed(folder.Items):
if yesterday_sub in i.Subject:
text = i.Body #Fügen Sie den Text der täglichen Berichtspost von gestern ein
flag = True #Richtig, weil die tägliche Berichtspost von gestern gefunden wurde
break
days_cnt += 1 #Wenn Sie die tägliche Berichtsmail für das Datum nicht finden können, tun Sie dies gestern für dieses Datum
#Extrahieren Sie den Inhalt von <Nächste Schritte>
result = re.findall('<Was als nächstes zu tun ist>[^<]+',text)
b = result[0].replace('<Was als nächstes zu tun ist>', '')
#Extrahieren Sie den Inhalt von "..."
result2 = re.findall('・.+\r\n',b)
sentence = ""
for i in result2:
sentence += i
#E-Mail senden
object = win32com.client.Dispatch("Outlook.Application")
mail = object.CreateItem(0)
mail.BodyFormat = 1
#Zieleinstellung An,CC,Bcc
mail.To = "[email protected]" #Meine Email-Adresse
# mail.cc = "[email protected]"
# mail.Bcc = "[email protected]"
mail.Subject = "Tagesbericht[{}Mond{}Tag]".format(today.month,today.day) #E-Mail Betreff
#E-Mail-Text
mail.Body = """\
Ist Prost auf gute Arbeit.
Ich werde Ihnen einen täglichen Bericht senden.
<Was ich getan habe>
"""+sentence+"""\
<Was ich gefunden habe>
<Was als nächstes zu tun ist>
das ist alles
"""
mail.Display(True) #Zeigen Sie die erstellte E-Mail an
# mail.Send() #E-Mail senden
** Rote Linie ist Ihre E-Mail-Adresse **
Ich konnte Outlook-E-Mails in Python automatisch erstellen. Dies erspart Ihnen die Mühe, eine tägliche Berichtsmail zu erstellen!
Ich möchte umgestalten, wenn die Zeit reif ist! Teams und Mattermost reichen manchmal tägliche Berichte bei YWT ein, daher möchte ich diese beiden automatisch erstellen.
Mail-Vorlage erstellen Outlook-E-Mail mit Python senden
Recommended Posts