
OUTLOOKã¢ã«ãŠã³ã | 1ã¶æçµé | Webãã°ã€ã³ | OAUTH2ããŒã¯ã³ | POP3ãIMAPæå¹å
Seller-provided titleMarketplace cards may show: Outlookã¢ã«ãŠã³ã| 1ã¶æçµé| Webãã°ã€ã³| Oauth2ããŒã¯ã³| Pop3ãImapæå¹å
é
ä¿¡:èªåé
ä¿¡
ä¿èšŒæé:12 æé
åšåº«ãã87.8K å©çšå¯èœ
$0.00
åºåè & é é
| ãã®åå | ãã¹ãŠ | |
|---|---|---|
| å¹³åé é | 21 å | 48 å |
| å®äºç | 100.0% | 100.0% |
| çŽäºç | 0.0% | 0.1% |
| ãµããŒããã±ããç | 8.3% | 6.1% |
| 泚æ | 12 | 2884 |
ãã®åå
- å¹³åé é: 21 å
- å®äºç: 100.0%
- çŽäºç: 0.0%
- ãµããŒããã±ããç: 8.3%
- 12ä»¶ã®æ³šæã«åºã¥ã
ãã®åºåè ïŒå šååïŒ
- å¹³åé é: 48 å
- å®äºç: 100.0%
- çŽäºç: 0.1%
- ãµããŒããã±ããç: 6.1%
- 2884ä»¶ã®æ³šæã«åºã¥ã
ãªãã·ã§ã³ãéžæ
泚æã®æŠèŠ
åèš$0.00
- Outlookã¢ã«ãŠã³ããé«å質ã
- 1ã¶æçµéæžã¿ã
- Webãã°ã€ã³å¯èœã
- éåžžã«é·æã¡ãã1幎以äžäœ¿çšã§ããããšããããŸãã
- æ°èŠã¢ã«ãŠã³ãã§ãä»ã§ã¯äœ¿çšãããŠããããã¢ã¯ã»ã¹ã§ããã®ã¯ããªãã ãã§ãã
- OAuth2æå¹åæžã¿ãRefreshTokenãClientIdä»ãã
- POP3ãIMAPæå¹ãIMAPãPOP3ãžã®ã¢ã¯ã»ã¹ã«ã¯OAuth2ã䜿çšããŠãã ããã
- ç·æ§ãŸãã¯å¥³æ§ã
ã¢ã«ãŠã³ãã®åœ¢åŒ: login:password:refresh_token:client_id
éèŠ: ãã©ãŠã¶ã§ãµã€ã³ã€ã³äžã«å埩çšã¡ãŒã«ã®è¿œå ãæ±ããããå Žåã¯ã以äžã®ãªã³ã¯ãéããŠãã ãã:
https://outlook.live.com/mail/0/
ãã§ã«ãµã€ã³ã€ã³ããŠãããããã¡ãŒã«ããã¯ã¹ã«çŽæ¥ç§»åããŸããåããã©ãŠã¶ã§ãªã³ã¯ãéãã ãã§ãã
OAuth2 IMAPã¡ãŒã«èªã¿åãã®Pythonãµã³ãã«:
import base64
import imaplib
import poplib
import requests
def get_access_token(client_id, refresh_token):
data = {
'client_id': client_id,
'grant_type': 'refresh_token',
'refresh_token': refresh_token
}
ret = requests.post('https://login.live.com/oauth20_token.srf', data=data)
# ã¬ã¹ãã³ã¹å
容ãšã¢ã¯ã»ã¹ããŒã¯ã³ã衚瀺
print(ret.text)
print(ret.json()['access_token'])
return ret.json()['access_token']
# ã¢ã¯ã»ã¹ããŒã¯ã³ã䜿çšããŠOAuth2èªèšŒæååãçæ
def generate_auth_string(user, token):
auth_string = f"user={user}\1auth=Bearer {token}\1\1"
return auth_string
pop3_server = 'outlook.office365.com'
pop3_port = 995 # SSLçµç±ã®POP3
def connect_pop3(email, access_token):
server = poplib.POP3_SSL(pop3_server, pop3_port)
# OAuth2ã䜿çšããŠèªèšŒ
auth_string = generate_auth_string(email, access_token)
encoded_auth_string = base64.b64encode(auth_string.encode("utf-8")).decode("utf-8")
server._shortcmd(f'AUTH XOAUTH2')
server._shortcmd(f'{encoded_auth_string}')
# ã¡ãŒã«ã®ãªã¹ããååŸ
num_messages = len(server.list()[1])
print(f"åä¿¡ãã¬ã€ã«ã¯{num_messages}éã®ã¡ãŒã«ããããŸãã")
# ã¡ãŒã«ã®å
容ãååŸ
for i in range(num_messages):
response, lines, octets = server.retr(i + 1)
msg_content = b"\n".join(lines).decode("utf-8")
print(f"ã¡ãŒã« {i + 1}:")
print(msg_content)
print("=" * 50)
def connect_imap(email, access_token):
mail = imaplib.IMAP4_SSL('outlook.office365.com')
# çæãããèªèšŒæååã衚瀺
print(generate_auth_string(email, access_token))
mail.authenticate('XOAUTH2', lambda x: generate_auth_string(email, access_token))
mail.select("INBOX")
status, messages = mail.search(None, 'ALL')
print("ã¡ãŒã«ID:", messages)
mail.logout()
# ã¡ãŒã«ã¢ãã¬ã¹ãšãªãã¬ãã·ã¥ããŒã¯ã³ãèšå®
client_id = 'CLIENT_ID_HERE'
email = "example@hotmail.com"
t = "YOUR_REFRESH_TOKEN_HERE"
# ãªãã¬ãã·ã¥ããŒã¯ã³ã䜿çšããŠã¢ã¯ã»ã¹ããŒã¯ã³ãååŸ
acc_token = get_access_token(client_id, t)
# IMAPãµãŒããŒã«æ¥ç¶ããŠã¡ãŒã«ã«ã¢ã¯ã»ã¹
connect_imap(email, acc_token)
.
