Я создаю программу, которая проверяет электронную почту с заголовком «sup1».При получении он удаляет электронное письмо и отправляет случайное число исходному отправителю.Прямо сейчас это только иногда получает ответ.Кстати, это тестирование для другого проекта, поэтому это странно звучащая программа.
#Get Email#
import easyimap
import imaplib
import smtplib
import ssl
import random
#Get Variables
login = "****"
password = "****"
imapserver = "imap.gmail.com"
#Send Variables
port = 465
smtp_server = "smtp.gmail.com"
#Booting Up
print("Booted up!")
#Functions
#Delete Emails
def deleteEmails(user,password,IMAP):
mail = imaplib.IMAP4_SSL(IMAP)
mail.login(user,password)
mail.select("inbox")
typ,data = mail.search(None,"ALL")
for num in data[0].split():
mail.store(num,"+FLAGS",r"(\Deleted)")
mail.expunge()
mail.close()
mail.logout()
#Send
def sendEmail(message):
context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server,port,context=context) as server:
server.login(login,password)
server.sendmail(login,receiver_email,message)
#While Loop
while True:
#Read All Emails
imapper = easyimap.connect("imap.gmail.com",login,password)
for mail_id in imapper.listids(limit = 100):
mail = imapper.mail(mail_id)
temp = list(mail.from_addr)
sender = ""
temp2 = False
for i in range(len(temp)):
if temp[i] == "<":
temp2 = True
elif temp2 and temp[i] != ">":
sender += temp[i]
receiver_email = sender
#Test For Kinds Of Emails
if mail.title == "sup1":
sendEmail("Subject: "+str(random.randint(1,10)))
deleteEmails(login,password,imapserver)
print("Sent")