[Python] J'ai essayé de créer automatiquement un rapport quotidien de YWT avec la messagerie Outlook

Aperçu

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) **

Chose que tu veux faire

  1. Je souhaite créer automatiquement un modèle YWT pour le courrier de rapport quotidien
  2. Je veux mettre la date du jour dans le sujet
  3. Remplacez les T du rapport quotidien d'hier par le courrier Y du rapport quotidien du jour

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?

code

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

résultat

Cliquez ici pour le rapport quotidien d'hier

#### Créer automatiquement le rapport quotidien du jour

** La ligne rouge correspond à votre adresse e-mail **

Résumé

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.

référence

Créer un modèle de courrier Envoyer un e-mail Outlook avec Python

Recommended Posts

[Python] J'ai essayé de créer automatiquement un rapport quotidien de YWT avec la messagerie Outlook
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de collecter automatiquement des images de Kanna Hashimoto avec Python! !!
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
J'ai essayé d'envoyer automatiquement la littérature du nouveau virus corona à LINE avec Python
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé différentes méthodes pour envoyer du courrier japonais avec Python
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
J'ai essayé de générer automatiquement la chaîne de caractères à entrer dans M. Adjustment avec Python
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
J'ai essayé de créer un cadre de données pandas en grattant les informations de rappel d'aliments avec Python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
Un mémorandum lors de l'acquisition automatique avec du sélénium
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une expression régulière de "date" en utilisant Python
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer des taureaux et des vaches avec un programme shell
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
J'ai essayé de créer un linebot (implémentation)
J'ai essayé de créer un linebot (préparation)
J'ai essayé un langage fonctionnel avec Python
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
J'ai créé un outil pour parcourir automatiquement plusieurs sites avec Selenium (Python)
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Execution] (3/3)
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
J'ai essayé de créer un plug-in avec HULFT IoT Edge Streaming [Setup] (1/3)
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
J'ai créé un exemple pour accéder à Salesforce en utilisant Python et Bottle
J'ai essayé d'implémenter le jeu de cartes de Trump en Python
J'ai essayé des centaines de millions de SQLite avec python
Je veux créer une fenêtre avec Python
Je veux faire un jeu avec Python
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé de sortir LLVM IR avec Python
Étapes pour créer un bot Twitter avec Python
J'ai essayé d'automatiser la fabrication des sushis avec python