예제 #1
0
    def get_load_average(self):
        command = ['sysctl', 'vm.loadavg']
        #pipe.stdout return as byte string
        pipe = subprocess.Popen(command, stdout=subprocess.PIPE)
        #convert byte string to string utf-8
        stringUnicode = pipe.stdout.read().decode(self.encodeType).split(" ")
        a1, a5, a15 = map(float, stringUnicode[2:5])
        '''
            logica do analizador

            a5 >= 50%
        '''
        if a5 >= 0.5:
            list = self.get_process()
            message = "Load Average 1 Minutes: %.2f, 5 Minutes: %.2f 15 Minutes: %.2f" % (a1, a5, a15)
            self.logger.debug(message)
            process_list = self.get_process()
            final_string = ''
            for x in process_list:
                final_string += x.decode(self.encodeType)
            if self.send_mail:
                sender = MailSender(message + "\n================================================\n" + final_string)
                sender.sendmail()
                self.logger.debug("Email send")
        return "%.2f, %.2f, %.2f" % (a1, a5, a15)
예제 #2
0
class WeeklyGiftSender:
    def __init__(self, add, path, password):
        self.address = add
        self.path = path
        self.msender = MailSender(self.address, password)

    def send_all(self):

        # for filename in file_list:
        # if name_check() == True:

        if filename in file_list:
            self.msender.send(to, file_path)
예제 #3
0
def mail_send(mail_buffer: list) -> None:
    print('メール送信内容:')
    print('\n'.join(mail_buffer))

    if const.MAIL_TO is None or const.MAIL_TO == '':
        print('メール送信先未設定のため、メール送信処理は行われません')
        return

    sender = MailSender(from_address=const.MAIL_FROM,
                        smtp_server=const.MAIL_SMTP_SERVER,
                        smtp_user=const.MAIL_SMTP_USER,
                        smtp_password=const.MAIL_SMTP_PASSWORD)

    sender.send(const.MAIL_TO, mail_subject, '\n'.join(mail_buffer))
예제 #4
0
    def __init__(self, config_file, workspace_folder):
        self.logger = logging.getLogger(self.logger_name + '.MailBox')
        self.workspace = workspace_folder
        self.configs = ConfigData(config_file)

        self.logger.debug('workspace "{}" configs: {}'.format(
            self.workspace, self.configs.toStringFiltered()))

        self.logger.debug('creating MailReceiver')
        self.receiver = MailReceiver(self.configs.imap,\
                                     self.configs.imap_port,\
                                     self.configs.ssl_enabled,\
                                     self.configs.username,\
                                     self.configs.password)

        self.logger.debug('creating MailSender')
        self.sender = MailSender(self.configs.smtp,\
                                self.configs.smtp_port,\
                                self.configs.username,\
                                self.configs.password)
예제 #5
0
def start_reporter():
    print '--- Start Scanning --- '
    print 'From line number %d ' % Config.last_scanned_number_in_record

    # Scanning error, and constructing error text
    scanner = ErrorScanner()
    scanner.last_scanned_number_in_record = Config.last_scanned_number_in_record
    scanner.scanning_error()

    if scanner.error_count > 0:
        print '------------------------- Sending Mail ------------------------'
        # Sending error text
        mail_sender = MailSender()
        mail_sender.sending_email(scanner)

    # Store the last scanned line number
    Config.last_scanned_number_in_record = scanner.line_number_scanned

    print '--- End Scanning ---'
    print 'Last line number %d' % (Config.last_scanned_number_in_record + 1)
    write_config_to_file()
예제 #6
0
def start_reporter():
    print '--- Start Scanning --- '
    print 'From line number %d ' % Config.last_scanned_number_in_record

    # Scanning error, and constructing error text
    scanner = ErrorScanner()
    scanner.last_scanned_number_in_record = Config.last_scanned_number_in_record
    scanner.scanning_error()

    if scanner.error_count > 0:
        print '------------------------- Sending Mail ------------------------'
        # Sending error text
        mail_sender = MailSender()
        mail_sender.sending_email(scanner)

    # Store the last scanned line number
    Config.last_scanned_number_in_record = scanner.line_number_scanned

    print '--- End Scanning ---'
    print 'Last line number %d' % (Config.last_scanned_number_in_record + 1)
    write_config_to_file()
예제 #7
0
 def get_file_system(self, message="CAPACITY WARNING:"):
     command = ['df', '-h']        
     pipe = subprocess.Popen(command, stdout=subprocess.PIPE)
     #output_lines is a byte list[] 
     output_lines = pipe.stdout.readlines()
     pattern1 = "9[0]%"
     pattern2 = "9[8]%"
     for line in output_lines:
         line = str(line.strip(), self.encodeType)
         if re.search(pattern1, line):
             if not self.flagToSendMail:
                 if self.send_mail:
                     sender = MailSender("%s %s" % (message, line), "CAPACITY WARNING 90%")
                     sender.sendmail()
                     self.flagToSendMail = True
                 self.logger.warning("CAPACITY WARNING 90% %s %s" % (message, line))
         if re.search(pattern2, line):
             if not self.flagToSendMail2:
                 if self.send_mail:
                     sender = MailSender("%s %s" % (message, line), "CAPACITY WARNING 98% Oh My God, hurry up.")
                     sender.sendmail()
                     self.flagToSendMail2 = True
                 self.logger.critical("CAPACITY WARNING 98% Oh My God, hurry up. %s %s" % (message, line))
예제 #8
0
 def testSendGridConnection(self):
     s = MailSender()
     self.assertTrue(s.test())
예제 #9
0
from flask import Flask, render_template, redirect, url_for
from forms import IndexForm
from MongoHandler import MongoHandler, formContent
from MailSender import MailSender
import feedparser
import _thread

app = Flask(__name__)

sendGridAPI = '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'
app.config['SECRET_KEY'] = 'KEY'
uri = "mongodb://*****:*****@spite.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&maxIdleTimeMS=120000&appName=@spite@&retrywrites=false"
senderEmail = '*****@*****.**'

mongo = MongoHandler(uri)
mail = MailSender(sendGridAPI)


def parseAndSendEmail(url, email):
    content = ""
    title = "Your RSS Feed"
    for urls in url:
        newsFeed = feedparser.parse(urls)
        content += "<h1>"
        content += newsFeed.channel.title
        content += "</h1><br>"
        for entry in newsFeed.entries:
            content += "<a href=" + entry.link + ">"
            content += entry.summary
            content += "</a>"
            content += "<br><br>"
예제 #10
0
from MailSender import MailSender
from namecheker import NC

address = '*****@*****.**'
password = '******'
msender = MailSender(address, password)

if
msender.send(address, 'C:\\Users\\i3_OWNER\'s\\Documents\\pytest\\Weekly_Gift_%s.json' %(x)))



# import shutil
# member_cnt = int(input())
# member_name = []
# for i in range(member_cnt):
#     member_name.append(str(input()))
#
# # print(member_name)
#
# for x in member_name:
#     shutil.copy('sample.xlxs', '%s.xlxs' %(x))
#     print('今回チームメンバーの名前は:%s' %(x))

 # wsl : windows store  - ubuntu - windows serve sysetems for linux [search]

# G folder > old_file.pdf
# shutil.copy('old_file.pdf' , 'new_file_name.pdf')

# ===================================
# ------------------------------------
예제 #11
0
 def __init__(self, add, path, password):
     self.address = add
     self.path = path
     self.msender = MailSender(self.address, password)
예제 #12
0
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Author: 孙浩然
Date: 2017.11.25
Description: Use python3 to get information from several website and send it as E-mail
"""
from Get4m3Info import Get4m3Info
from GetSSEInfo import GetSSEInfo
from GetBookNames import GetBookName
from GetMovieName import GetMovieName
from MailSender import MailSender


message = ''
message += Get4m3Info().get_4m3_info()
message += GetSSEInfo().get_sse_info()
message += GetBookName().get_book_name()
#message += GetMovieName().get_movie_name()
MailSender().send_mail(message=message)
예제 #13
0
 def testSendGridConnection(self):
     s = MailSender()
     self.assertTrue(s.test())
예제 #14
0
파일: main.py 프로젝트: hardbird/Joke
# -*- coding: utf-8 -*-

from JokeGetter import JokeGetter
from MailSender import MailSender


if __name__ == '__main__':

	jokeGetter = JokeGetter()
	mailSender = MailSender()
	mailSender.send_mail(jokeGetter.get_jokelist())
	print('end of sending mail')
예제 #15
0
    ]
    file_list = list(map(check_file, file_temp))
    for i in file_list:
        if i.is_exist:
            logging.info(" 原始文件:" + i.name + " 存在")
        else:
            logging.error("原始文件:" + i.name + " 不存在")
    # 邮件服务器配置
    server = "smtp.exmail.qq.com"
    mail_user = '******'
    mail_password = '******'
    send_addr = "*****@*****.**"
    #send_addr="[email protected],[email protected],[email protected],[email protected],\
    #[email protected],[email protected],[email protected],[email protected],\
    #[email protected],[email protected],[email protected],[email protected]"
    Mail = MailSender(server, mail_user, mail_password)
    # 添加邮件主题和正文
    sub_title = "今日指标统计(用户数、主机性能、AS业务报表)" + str(date)
    content = ""
    if os.path.exists(quato_report):
        with open(quato_report, "r") as f:
            lines = f.readlines()
        for line in lines:
            content = content + line
    else:
        content = "<br>作业计划指标原始文件缺失</br>"

    if os.path.exists(filename_xlsx) or os.path.exists(filename_txt):
        content = content + "<br>智能网用户数及短号短信统计见附件.(tj为自动生成的excel文件,另一个为原始数据)</br>"
    else:
        content = content + "<br>今日用户数统计异常,请检查newsap1上原始数据或FTP</br>"
예제 #16
0
class MailBox(MailLog):
    """ Email client that download unread messages and process them using registered handlers """
    handlers = []
    configs = None
    workspace = None

    receiver = None  # receiver engine
    sender = None  # send engine

    def __init__(self, config_file, workspace_folder):
        self.logger = logging.getLogger(self.logger_name + '.MailBox')
        self.workspace = workspace_folder
        self.configs = ConfigData(config_file)

        self.logger.debug('workspace "{}" configs: {}'.format(
            self.workspace, self.configs.toStringFiltered()))

        self.logger.debug('creating MailReceiver')
        self.receiver = MailReceiver(self.configs.imap,\
                                     self.configs.imap_port,\
                                     self.configs.ssl_enabled,\
                                     self.configs.username,\
                                     self.configs.password)

        self.logger.debug('creating MailSender')
        self.sender = MailSender(self.configs.smtp,\
                                self.configs.smtp_port,\
                                self.configs.username,\
                                self.configs.password)

    def process_unread_messages(self):
        workspace = os.path.join(
            self.workspace,
            "")  #workspace is used to download attachments, if any
        unread_mails = self.receiver.get_unread_mails(workspace)
        for email in unread_mails:
            self.logger.debug('processing email [{}]'.format(email))

            # call all handlers to process it
            for h in self.handlers:
                try:
                    self.logger.debug('handler {} called'.format(
                        self.handlers.index(h)))
                    h.handle(email)
                except Exception as e:
                    self.logger.error(e)
                    pass

            # remove the temporary directory
            self.logger.debug('removing temporary directory "{}"'.format(
                email.workspace))
            shutil.rmtree(email.workspace)

            # set as unread
            self.receiver.set_as_read(email)

    def send_email(self, mailData):
        self.logger.debug('sending email...')
        self.sender.send(mailData)
        self.logger.debug('sending complete')

    def add_mailbox_handler(self, handler):
        self.handlers.append(handler)
        self.logger.debug('added handler "{}"'.format(handler))