Erstellen Sie Google Mail in Python ohne Verwendung der API

Überblick

Bildschirmanzeige für die Erstellung von Google Mail-E-Mails in Python

Die Methode dieses Mal besteht darin, den Text in eine Textdatei zu schreiben und Die Methode besteht darin, die Textdatei abzurufen und eine URL zu erstellen. Vor kurzem hat der Tagesbericht dies bereits getan. In diesem Artikel werde ich gemäß dem vorherigen Ablauf unter der Annahme eines täglichen Berichts schreiben.

URL-Erstellung

Die URL und die Parameter wurden im vorherigen Artikel geschrieben, lauten jedoch wie folgt.

https://mail.google.com/mail/?view=cm Verketten Sie die Parameter mit dieser URL.


 Die Parameter sind wie folgt (fast gleich)

 |Parameter|Bedeutung|
 | :----: | :----: |
 | to= | To |
 | cc= | Cc |
 | bcc= | Bcc |
 | su= |Gegenstand|
 | body= |Text|


#### **`URL-Erstellung`**
```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=Tagesbericht{today.month}/{today.strftime('%d')}Tagesbericht 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

Hier und da ist fast das gleiche wie beim letzten Mal.

Öffne URL

Dies ist das gleiche wie beim letzten Mal, und wir werden den Befehl ausführen. Da es sich um Python handelt, ist es im Gegensatz zu VBA einfach zu schreiben.

Öffnen Sie die URL mit dem Startbefehl von Python


import subprocess

def openUrl(url: str):
    subprocess.call(f'cmd /c start "" "{url}"', shell=True)

Mail schreiben

Nachdem wir die Funktion haben, erhalten wir den Inhalt der Textdatei und verfassen die E-Mail. Angenommen, Sie haben eine Datei auf Ihrem Desktop mit dem Namen "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)

Stapelerstellung

Wenn ich es ausführe, wird der Browser geöffnet und Google Mail wird geöffnet. Es ist mühsam, Python einzeln an der Eingabeaufforderung auszuführen, daher schreibe ich einen Stapel. Python-Dateien müssen sich nicht auf Ihrem Desktop befinden. Fügen Sie beispielsweise `` `/ work / python / DailyReport / DailyReport.py``` in den Benutzerordner ein.

@echo off
cd ../work/python/DailyReport
python DailyReport.py

Speichern Sie diesen Stapel auf Ihrem Desktop. Wenn Sie den Text in `mail.txt``` schreiben und den Stapel ausführen, Ich denke, dass es im Browser geöffnet wurde und der Mail-Kompositionsbildschirm angezeigt wurde. (Dieses Mal werde ich das Ausführungsergebnis weglassen. Da der Inhalt der gleiche ist ...) In Bezug auf den Ausblick getUrl" im vorherigen [Bonus](https://qiita.com/neruru_y/items/a5d0a3f7ef30f5a36962#%E3%81%8A%E3%81%BE%E3%81%91) Ich denke, Sie können es tun, indem Sie () `` imitieren.

Ganzer Quellcode

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=Tagesbericht{today.month}/{today.strftime('%d')}Tagesbericht 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

Referenzseite

Recommended Posts

Erstellen Sie Google Mail in Python ohne Verwendung der API
[Python] API zum Senden von Google Mail erstellen
Erstellen Sie Spatia Lite in Python
Evernote-API in Python
Entwurf von Google Mail in Python
C-API in Python 3
Senden Sie Google Mail in Python
Hit Mastodons API in Python
Erstellen Sie ein Wörterbuch in Python
Blender Python API in Houdini (Python 3)
[LINE Messaging API] Erstellen Sie mit Python ein umfangreiches Menü
Abrufen der arXiv-API in Python
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Erstellen Sie Awaitable mit der Python / C-API
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Erstellen Sie einen DI-Container mit Python
[Python3] Google übersetzt Google Übersetzung ohne Verwendung von API
Erstellen Sie eine Binärdatei in Python
Klicken Sie auf die Web-API in Python
Erstellen Sie eine Python-Projektdokumentation in Sphinx
Tastenanschläge in Python erkennen (ohne Eingabe)
Implementieren Sie die REST-API schnell in Python
Greifen Sie mit Python auf die Twitter-API zu
Erstellen Sie eine zufällige Zeichenfolge in Python
Erstellen und lesen Sie Messagepacks in Python
[Python / Django] Erstellen Sie eine Web-API, die im JSON-Format antwortet
Mausbedienung mit Windows-API in Python
Erstellen Sie Ihre eigenen Linux-Befehle in Python
Versuchen Sie es mit der Wunderlist-API in Python
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
Versuchen Sie, die Kraken-API mit Python zu verwenden
Erstellen Sie ScriptableObject in Python, wenn Sie ADX2 erstellen
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Erstellen Sie eine einfache GUI-App in Python
Erhalten Sie E-Mails mithilfe der Google Mail-API in Java
Python-Modul erstellen [CarSensor API-Unterstützungsmodul csapi]
Tweet mit der Twitter-API in Python
Erstellen Sie Qt-Designerteile mit Python (PyQt)
Holen Sie sich Google Fit API-Daten in Python
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Probieren Sie schnell die Microsoft Face API in Python aus
[GPS] Erstellen Sie eine kml-Datei mit Python
[Python] Erstellen Sie schnell eine API mit Flask
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python