La méthode cette fois est d'écrire le texte dans un fichier texte et La méthode consiste à obtenir le fichier texte et à créer une URL. Récemment, le rapport quotidien a déjà fait de cette façon. Dans cet article, j'écrirai selon le flux précédent, en supposant un rapport quotidien.
L'URL et les paramètres ont été écrits dans l'article précédent, mais ils sont les suivants.
https://mail.google.com/mail/?view=cm Concaténez les paramètres à cette URL.
Les paramètres sont les suivants (presque les mêmes)
|Paramètres|sens|
| :----: | :----: |
| to= | To |
| cc= | Cc |
| bcc= | Bcc |
| su= |matière|
| body= |Texte|
#### **`Création d'URL`**
```python
from datetime import datetime
import urllib.parse
def getUrl(body: str) -> str:
url = "https://mail.google.com/mail/?view=cm"
url += "&[email protected]"
url += "&[email protected]"
url += "&[email protected]"
today = datetime.now()
url += f"&su=Rapport journalier{today.month}/{today.strftime('%d')}Rapport quotidien Taro"
url += f"&body={strenc(body)}"
return url
def strenc(txt: str) -> str :
lst = list("#'|^<>{};?@&$" + '"')
for v in lst:
txt = txt.replace(v, urllib.parse.quote(v))
txt = urllib.parse.quote(txt)
return txt
Ici et là, c'est presque la même chose que la dernière fois.
C'est la même chose que la dernière fois, et nous exécuterons la commande. Puisqu'il s'agit de Python, il est facile d'écrire contrairement à VBA.
Ouvrir l'URL avec la commande de démarrage de Python
import subprocess
def openUrl(url: str):
subprocess.call(f'cmd /c start "" "{url}"', shell=True)
Maintenant que nous avons la fonction, nous allons récupérer le contenu du fichier texte et composer l'e-mail. Supposons que vous ayez un fichier sur votre bureau appelé `` Mail.txt ''.
import os
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop/')
fileName = "Email.txt"
def main():
with open(f"{desktop}{fileName}", mode="r", encoding="UTF-8") as f:
url = getUrl(f.read())
openUrl(url)
Lorsque je l'exécute, le navigateur s'ouvre et Gmail s'ouvre. Il est difficile d'exécuter Python à l'invite de commande un par un, donc j'écrirai un lot. Les fichiers Python n'ont pas besoin d'être sur votre bureau, Par exemple, placez `` / work / python / DailyReport / DailyReport.py '' dans le dossier utilisateur.
@echo off
cd ../work/python/DailyReport
python DailyReport.py
Enregistrez ce lot sur votre bureau.
Avec cela, si vous écrivez le corps dans
mail.txt``` et exécutez le lot,
Je pense qu'il a été ouvert dans le navigateur et que l'écran de composition du courrier a été affiché.
(Je vais omettre le résultat de l'exécution cette fois. Puisque le contenu est le même ...)
Concernant les perspectives,
getUrl '' dans le précédent bonus Je pense que vous pouvez le faire en imitant () ''.
DailyReport.py
from datetime import datetime
import os
import urllib.parse
import subprocess
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop/')
fileName = "Email.txt"
def main():
with open(f"{desktop}{fileName}", mode="r", encoding="UTF-8") as f:
url = getUrl(f.read())
openUrl(url)
def getUrl(body: str) -> str:
url = "https://mail.google.com/mail/?view=cm"
url += "&[email protected]"
url += "&[email protected]"
url += "&[email protected]"
today = datetime.now()
url += f"&su=Rapport journalier{today.month}/{today.strftime('%d')}Rapport quotidien Taro"
url += f"&body={strenc(body)}"
return url
def strenc(txt: str) -> str :
lst = list("#'|^<>{};?@&$" + '"')
for v in lst:
txt = txt.replace(v, urllib.parse.quote(v))
txt = urllib.parse.quote(txt)
return txt
def openUrl(url: str):
subprocess.call(f'cmd /c start "" "{url}"', shell=True)
if __name__ == "__main__":
main()
mail.bat
@echo off
cd ../work/python/DailyReport
python DailyReport.py
Recommended Posts