저는 현재 라즈베리 파이 파이썬 스크립트를 읽고 전자 메일 본문 (TTS)을 말합니다. 파이썬이 전자 메일 본문의 첫 번째 줄만 읽거나 말하고있는 문제가 있습니다. 전체 전자 메일 본문 (여러 줄)을 읽고 말하게하고 싶습니다. 아래는 현재 설정 한 코드입니다. 나는 잠시 동안 붙어 있었고 당신의 도움을 원합니다. 당신이 개별적으로 디버깅 할 수 있도록Python이 전체 전자 메일 본문을 읽지 않습니다
import imaplib
import email
import os
import RPi.GPIO as GPIO
import time
def extract_body(payload):
if isinstance(payload,str):
return payload
else:
return '\n'.join([extract_body(part.get_payload()) for part in payload])
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
conn.login("username here", "Password here")
conn.select()
typ, data = conn.search(None, 'UNSEEN')
try:
GPIO.setmode(GPIO.BOARD)
for num in data[0].split():
typ, msg_data = conn.fetch(num, '(RFC822)')
for response_part in msg_data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1])
subject=msg['subject']
print(subject)
payload=msg.get_payload()
body=extract_body(payload)
print(body)
cmd_string = '/home/pi/speech.sh {}.'.format(body)
os.system(cmd_string)
typ, response = conn.store(num, '+FLAGS', r'(\Seen)')
finally:
try:
conn.close()
except:
pass
conn.logout()
SSCCE를 제공하십시오. http://sscce.org/ 예제가 너무 길어 대부분 독자에게 가치가 없습니다. – jrennie