Я использую imaplib для чтения электронных писем на моем localhost через скрипт python. Для этого я использую Xampp и MercuryMail.Соединение активно отказалось при попытке подключиться к электронной почте на localhost
import imaplib
import email
#takes args for subject to check for
def get_subject(subject):
#most recent 15 emails
for i in range(latest_email_id, latest_email_id-15, -1):
typ, data = mail.fetch(str(i), '(RFC822)')
msg = email.message_from_string(data[0][1])
varSubject = msg['subject']
if subject == varSubject:
return 1
mail = imaplib.IMAP4_SSL('localhost')
mail.login("user","pass")
mail.list()
mail.select("inbox")
typ, data = mail.search(None, 'ALL')
ids = data[0]
id_list = ids.split()
latest_email_id = int(id_list[-1])
typ, data = mail.fetch(str(latest_email_id), '(RFC822)')
print(get_subject(subject = 'Test'))
mail.logout()
Когда я запускаю это, он возвращает ошибку, говорящую о том, что соединение активно отклонено. Если я пытаюсь подключиться к gmail вместо localhost, он прекрасно соединяется. Я установил MercuryMail, добавив пользователя и пароль к настройкам. У меня также есть еще один скрипт, который отправляет электронные письма с localhost на localhost, и эти электронные письма проходят. Скрипт должен получить последние 15 электронных писем и проверить их на конкретный предмет, но я не могу проверить его, не имея возможности подключиться. Я никогда не использовал python с электронными письмами или MercuryMail, поэтому я могу пропустить что-то простое.
Проверьте настройки брандмауэра. Или, возможно, установленный порт для Mecury Mail занят другим процессом. – schellingerht