Je suis fatigué de faire des rapports quotidiens YWT ... Même si je crée un modèle d'e-mail, je dois toujours mettre la date du jour dans la ligne d'objet ... Il s'agit d'un article qui a tenté de composer automatiquement du courrier Outlook avec Python. Puisque c'est mon premier article, il y a divers points étranges, mais ceux-ci sont passés ...
** À propos de YWT [ici](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) **
Quant à 3, le T d'hier est souvent écrit dans le Y d'aujourd'hui, donc Y a-t-il quelqu'un d'autre qui en a besoin?
import win32com.client
import datetime
import re
#Obtenez le corps du courrier de rapport quotidien d'hier
today = datetime.datetime.now()
object = win32com.client.Dispatch("Outlook.Application")
ns = object.GetNamespace("MAPI")
folder = ns.GetDefaultFolder(6) #6 représente le dossier Outlook Inbox
days_cnt = 1
flag = False #Vrai si le courrier de rapport quotidien d'hier est trouvé, Faux si non trouvé
#Rechercher le rapport quotidien d'hier
while flag == False:
yesterday = today - datetime.timedelta(days=days_cnt)
yesterday_sub ="Rapport journalier[{}Mois{}journée]".format(yesterday.month,yesterday.day)
for i in reversed(folder.Items):
if yesterday_sub in i.Subject:
text = i.Body #Insérez le corps de l'e-mail de rapport quotidien d'hier
flag = True #Vrai, car le courrier de rapport quotidien d'hier a été trouvé
break
days_cnt += 1 #Si vous ne trouvez pas le courrier du rapport quotidien pour la date, faites-le hier pour cette date
#Extraire le contenu de <Que faire ensuite>
result = re.findall('<Que faire ensuite>[^<]+',text)
b = result[0].replace('<Que faire ensuite>', '')
#Extraire le contenu de "..."
result2 = re.findall('・.+\r\n',b)
sentence = ""
for i in result2:
sentence += i
#envoyer un e-mail
object = win32com.client.Dispatch("Outlook.Application")
mail = object.CreateItem(0)
mail.BodyFormat = 1
#Réglage de la destination À,CC,Bcc
mail.To = "[email protected]" #Mon adresse email
# mail.cc = "[email protected]"
# mail.Bcc = "[email protected]"
mail.Subject = "Rapport journalier[{}Mois{}journée]".format(today.month,today.day) #Sujet du courriel
#Corps de l'e-mail
mail.Body = """\
Vive le bon travail.
Je vous enverrai un rapport quotidien.
<Ce que j'ai fait>
"""+sentence+"""\
<Ce que j'ai trouvé>
<Que faire ensuite>
c'est tout
"""
mail.Display(True) #Afficher l'e-mail créé
# mail.Send() #envoyer un e-mail
** La ligne rouge correspond à votre adresse e-mail **
J'ai pu composer automatiquement des e-mails Outlook en Python. Cela vous évite d'avoir à créer un mail de rapport quotidien!
Je veux refactoriser quand le moment est venu! Teams et Mattermost soumettent parfois des rapports quotidiens dans YWT, je voudrais donc créer ces deux automatiquement.
Créer un modèle de courrier Envoyer un e-mail Outlook avec Python