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