Эластичная поисковая почта Python скрипт проблема - PullRequest
0 голосов
/ 11 марта 2019

Я борюсь со своим скриптом на Python, интегрированным с API эластичного поиска.Я правильно использую все импортированные библиотеки.но проблема в том, что после запуска сценария.Почта не доставляется

  • Включены сторонние приложения (Менее безопасные приложения)
  • Используется пароль приложения

Я выключил firewalld и сбросил таблицы ip, и вызов с помощью Curl выполнен успешно.

Ниже сценария можно увидеть:

#!/usr/bin/python2.7

#-*- coding: utf-8 -*-


elastichost = 'http://10.204.11.13:1337'
elkindex = '*'
import elasticsearch


import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import pyblake2
#import os
#echo '{"hashes": ["test"]}' > syslog.db


import pickledb
db = pickledb.load('syslog.db', True)

def email_user(email, subject, msgs):
    fromm = 'redacted <redacted@gmail.com>'
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    msg = MIMEMultipart()
    msg['From'] = fromm
    msg['To'] = "redacted@gmail.com"
    msg['Subject'] = "log"
    msg.attach(MIMEText(msgs))
    server.login('redcated@gmail.com', 'redacted')
    server.sendmail(fromm, "redacted@gmail.com", msg.as_string())
    server.quit()
    return True

es = elasticsearch.Elasticsearch("10.204.11.13:1338", http_auth=('elastic','DVX3q1QlBqProSmvBO09'))
for x in es.search(index = elkindex, body = {"query": {"match_all": {}}})['hits']['hits']:
  if 'kernel' in str(x):
      minhash = pyblake2.blake2b(x.encode('utf-8')).hexdigest()
      if not db.get('hashes').__contains__(minhash):
          db.append('hashes', minhash)
          db.dump()
          email_user("jag@minemail.com", "Ett kernel meddelande har hittas i syslog", x)

Итак, в итоге:

Сценарий успешно выполнен, подключение к API ELS успешно.

, но почта не доставляется

Все предложения приветствуются.

...