[PYTHON] Publier le sujet de Gmail sur Twitter

Oui, nous supposons un environnement dans lequel vous ne pouvez pas accéder à Twitter même si vous envoyez du courrier vers l'extérieur ou vers n'importe quelle destination pendant le travail, bien que ce soit Sef Sef. Le courrier sera automatiquement supprimé après le tweet. Le but est d'éviter la duplication de l'affichage avec la destruction des preuves liées. Oui, vous devez l'installer quelque part chez vous ou le louer et le faire fonctionner régulièrement. http://symfoware.blog68.fc2.com/blog-entry-891.html Nous vous sommes reconnaissants d'avoir abordé le sujet de Gmail. Ou plutôt, c'est une copie. J'ai simplement supprimé autant que possible les éléments autres que l'acquisition du sujet et ajouté une fonction de publication pour supprimer le courrier. Merci pour votre soutien.

gmail_twitter.py


#!/usr/bin/env python
# -*- coding:utf-8 -*-
import imaplib, email, email.Header
import sys
from urllib import urlencode

#J'ai mon propre jeton pour l'authentification Oauth.
#Si vous ne le mettez pas de côté, vous avez peur de la divulgation en raison d'un accident.
import oat
"""
À propos de l'acquisition de Gmail
http://symfoware.blog68.fc2.com/blog-entry-891.html
Nous avons reçu plus.
"""
class imap4mail(object):


    def __init__(self, data):
        """
Exécute l'analyse des données de messagerie fournies dans le constructeur
        """
        self.files = {}

        #Analyser le message
        msg = email.message_from_string(data)
        #Obtenir le titre
        self.title = self.decode(msg.get('Subject'))


    def decode(self, dec_target):

        """
Titre de l'e-mail, décodage de l'expéditeur
        """
        decodefrag = email.Header.decode_header(dec_target)
        title = ''

        for frag, enc in decodefrag:
            if enc:
                title += unicode(frag, enc)
            else:
                title += unicode(frag)
        return title


def analize_mail(mail):

    #Publier le sujet de l'e-mail récupéré
    oat.client.request('https://api.twitter.com/1.1/statuses/update.json', 'POST', urlencode({'status': mail.title.encode('utf-8')}))

if __name__ == "__main__":

    host = 'imap.gmail.com'
    user = '[email protected]'
    password = 'password'
    mailbox = 'INBOX'

    #Spécification du serveur de messagerie
    M = imaplib.IMAP4_SSL(host=host)
    #S'identifier
    M.login(user, password)

    #Sélection de la boîte aux lettres
    M.select(mailbox)

    typ, data = M.search(None, 'ALL')
    for num in data[0].split():
        typ, data = M.fetch(num, '(RFC822)')
        mail = imap4mail(data[0][1])
#Publier sur Twitter
        analize_mail(mail)
#Supprimer l'e-mail après la publication
        M.store(num, '+FLAGS', '\\Deleted')
    M.expunge()
    M.close()
    M.logout()

Oui, les commentaires, etc. sont presque tels qu'ils sont. Si je change le commentaire, c'est tout.

Recommended Posts

Publier le sujet de Gmail sur Twitter
Essayez d'estimer le nombre de likes sur Twitter
Publiez sur votre compte en utilisant l'API sur Twitter
Tweetez le triple pronostic de la course de bateaux sur Twitter
J'ai étudié avec Kaggle Start Book basé sur kaggle [Partie 1]
J'ai vérifié l'image de l'Université des sciences sur Twitter avec Word2Vec.
Étudiez l'effet des valeurs aberrantes sur la corrélation
Afficher le graphique de tensorBoard sur Jupyter
Changer l'ordre de PostgreSQL dans Heroku
twitter avec python3
Le comportement de signal () dépend de l'option de compilation
[2020July] Vérifiez l'UDID de l'iPad sous Linux
Utilisez la dernière version de PyCharm sur Ubuntu
Envoyer Gmail à la fin du processus [Python]
Calculer la probabilité de valeurs aberrantes sur les moustaches de la boîte
Au moment de la mise à jour de python avec ubuntu
Changer la résolution d'Ubuntu s'exécutant sur VirtualBox
[AWS S3] Confirmation de l'existence de dossiers sur S3
Enregistrez les résultats de la recherche sur Twitter au format CSV.
Dessinez sur Jupyter en utilisant la fonction de tracé des pandas
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Différence de résultats en fonction de l'argument du multiprocessus.
Faites défiler le japonais jusqu'à la LED du RaspberryPi Sense HAT
Une réflexion sur la visualisation du champ d'application du modèle de prédiction
Annonce de la disponibilité de Java 11 LTS sur Amazon Linux 2
Le début de cif2cell
Nombre de personnages sur Twitter
le zen de Python
L'histoire de sys.path.append ()
La vengeance des types: la vengeance des types
Notes sur la version de CUDA, cuDNN où tensorflow-gpu fonctionnait
Mettez la dernière version de Python dans Linux (Debian) du Chromebook
Remarque sur le comportement par défaut de collate_fn dans PyTorch
J'ai analysé les tweets sur le nouveau virus corona publiés sur Twitter
Sakura L'histoire du fonctionnement de la bouteille Python sur Internet
Suivez le mystère du pédant orthographique apparu soudainement sur GitHub !!
Calculez approximativement le temps de sommeil estimé en fonction du temps d'utilisation de Twitter
Enquête sur l'utilisation du machine learning dans les services réels
Exécutons la commande à temps avec le bot discord
Comptez le nombre de caractères dans le texte dans le presse-papiers sur Mac
Analyse des données basée sur les résultats des élections du gouverneur de Tokyo (2020)
Essayez d'améliorer la précision de l'estimation du nombre de Twitter
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
Jusqu'au début du tutoriel django avec pycharm sous Windows
Publiez régulièrement des images de Papillon sur Python + AWS Lambda + Slack
Définir des informations telles que la longueur sur le bord de NetworkX
Créer un diagramme de corrélation à partir de l'historique des conversations de Twitter
Installez la dernière version de Git sur votre serveur Linux
Une histoire explorant la possibilité de récupérer un fichier VMDK supprimé sur VMFS
Obtenez le nom d'hôte du PC hôte avec Docker sous Linux