Sindbad~EG File Manager

Current Path : /home/numerotech/abs.numerotech.com/common_abs_v2-/core/library/
Upload File :
Current File : //home/numerotech/abs.numerotech.com/common_abs_v2-/core/library/email.py

from flask import request, url_for,flash, render_template,session
from core import app
from flask import url_for
from core.model.AbstractModel import AbstractModel
from datetime import datetime, date, time, timedelta
import requests,mandrill,json
from .. import Cryptography,Auth
from core.library.Mandrill import Mandrill
from core.library.Mailgun import Mailgun
from core.library.bravo import Bravo



class EMAIL:
    def sendMail(subject,html,to,conf_id):

        return EMAIL.sendMail_v1(subject=subject,html=html,to=to,mailData=None,conf_id=conf_id,confData=None)

        # MANDRILL_API_KEY='md-WHhIRdtiJJHa7wD0_WY6pQ' # IP ADDRESS ENABLED
        # mandrill_client = mandrill.Mandrill(MANDRILL_API_KEY)

        # #Test mail id for all  mails
        # is_test_mail = AbstractModel().settings_mail('is_test_mail',conf_id)

        # if is_test_mail and int(is_test_mail["setting_value"]) == 1 :
        # 	is_test_mail_id = AbstractModel().settings_mail('is_test_mail_id',conf_id)
        # 	to = is_test_mail_id["setting_value"]
        # message = {
        # 			'from_email' : Auth.get_conference(conf_id).get('e_from_email'),
        # 			'from_name': Auth.get_conference(conf_id).get('conf_name') +' - Scientific Committee',
        # 			'subject' : subject,
        # 			'recipients':to,
        # 			'html': html,
        # 			"headers" : 
        # 						{"Reply-To": Auth.get_conference(conf_id).get('e_reply_to')},
        # 						'to' : [
        # 								{
        # 									'email':to,
        # 									'name':to,
        # 									'type':'to'
        # 								},
        # 							] 
        # 		}
        # result = mandrill_client.messages.send(message = message,send_async=True)
        # return ('success')
        
    
    def sendOTPMail(subject,html,to,conf_id):

        return EMAIL.sendMail_v1(subject=subject,html=html,to=to,mailData=None,conf_id=conf_id,confData=None)

        # MANDRILL_API_KEY='md-WHhIRdtiJJHa7wD0_WY6pQ' # IP ADDRESS ENABLED
        # mandrill_client = mandrill.Mandrill(MANDRILL_API_KEY)

        # #Test mail id for all  mails
        # is_test_mail = AbstractModel().settings_mail('is_test_mail',conf_id)
        # if is_test_mail and int(is_test_mail["setting_value"]) == 1 :
        # 	is_test_mail_id = AbstractModel().settings_mail('is_test_mail_id',conf_id)
        # 	to = is_test_mail_id["setting_value"]
        # message = {
        # 			'from_email' : Auth.get_conference(conf_id).get('e_from_email'),
        # 			'from_name': Auth.get_conference(conf_id).get('conf_name') +' - Scientific Committee',
        # 			'subject' : subject,
        # 			'recipients':to,
        # 			'html': html,
        # 			"headers" : 
        # 						{"Reply-To": Auth.get_conference(conf_id).get('e_reply_to')},
        # 						'to' : [
        # 								{
        # 									'email':to,
        # 									'name':to,
        # 									'type':'to'
        # 								},
        # 								{
        # 									'email':Auth.get_conference(conf_id).get('e_backup_emails'),
        # 									'name':to,
        # 									'type':'to'
        # 								},
        # 							] 
        # 		}
        # result = mandrill_client.messages.send(message = message,send_async=True)
        # return ('success')
    
    def sendMail_v1(subject,html,to,mailData,conf_id,confData=None):
        confData = confData if confData else session.get('conference'+str(conf_id))
        if confData :
            if confData['driver'] == 'mailgun':
                # pass
                Mailgun.sendMail(subject,html,to,mailData,conf_id,confData)
            elif confData['driver'] == 'mandrill':
                # pass
                Mandrill.sendMail(subject,html,to,mailData,conf_id,confData)
            elif confData['driver'] == 'bravo':
                Bravo.sendMail(subject,html,to,mailData,conf_id,confData)
            else:
                return "Please check mail configuration setting"
        else:
            return redirect (url_for('user.Home_index'))

    def sendMail_v2(subject,html,mailData,conf_id,confData=None,attachmentData=None):
        confData = confData if confData else session.get('conference'+str(conf_id))
        if confData :
            if confData['driver'] == 'mailgun':
                # pass
                Mailgun.sendMail_v2(subject,html,mailData,conf_id,confData,attachmentData)
            elif confData['driver'] == 'mandrill':
                # pass
                Mandrill.sendMail_v2(subject,html,mailData,conf_id,confData,attachmentData)
            elif confData['driver'] == 'bravo':
                to = mailData.get('TO')
                Bravo.sendMail(subject,html,to,mailData,conf_id,confData)
            else:
                return "Please check mail configuration setting"
        else:
            return redirect (url_for('user.Home_index'))


    def sendMail_daily_report(subject,html,to,conf_id):
        confData = {
            'driver':'mailgun',
            'e_backup_emails': 'ntecbackup@gmail.com',
            'e_from_email'   : 'support@numerotec.com',
            'conf_name'      : '',
            'e_reply_to'     : 'support@numerotec.com',
            'domain':  'numerotech.com',
            'secret_key':'key-e13725db7c3a95b679911c038b490db1',
        }

        mailData = {
            'bcc_mails':None,
            'from_mail_name':'NumeroTec Support',
            'from_mail_id' : None,
            'reply_mail_id':None,
            'is_send_backup' : 1,
        }
        return EMAIL.sendMail_v1(subject=subject,html=html,to=to,mailData=mailData,conf_id=conf_id,confData=confData)
        
    def sendMail_daily_report_v1(subject,html,to,bcc,conf_id):
        confData = {
            'driver':'mailgun',
            'e_backup_emails': 'ntecbackup@gmail.com',
            'e_from_email'   : 'support@numerotec.com',
            'conf_name'      : '',
            'e_reply_to'     : 'support@numerotec.com',
            'domain':  'mg2.numerotec.com',
            'secret_key':'500f990be972a993db2004203b97b5c4-191fb7b6-be86716a',
        }

        mailData = {
            'bcc_mails':bcc,
            'from_mail_name':'NumeroTec Support',
            'from_mail_id' : None,
            'reply_mail_id':None,
            'is_send_backup' : 1,
        }
        return EMAIL.sendMail_v1(subject=subject,html=html,to=to,mailData=mailData,conf_id=conf_id,confData=confData)
        # MANDRILL_API_KEY='md-WHhIRdtiJJHa7wD0_WY6pQ' # IP ADDRESS ENABLED
        # MANDRILL_API_KEY='3rql7lHFpPcoHnNAWYQTFQ'
        # mandrill_client = mandrill.Mandrill(MANDRILL_API_KEY)

        # #Test mail id for all  mails
        # is_test_mail = AbstractModel().settings_mail('is_test_mail',conf_id)

        # if is_test_mail and int(is_test_mail["setting_value"]) == 1 :
        # 	is_test_mail_id = AbstractModel().settings_mail('is_test_mail_id',conf_id)
        # 	to = is_test_mail_id["setting_value"]
        # message = {
        # 			'from_email' : 'support@numerotec.com',
        # 			'from_name': ' Scientific Committee',
        # 			'subject' : subject,
        # 			'recipients':to,
        # 			'html': html,
        # 			"headers" : 
        # 						{"Reply-To": 'support@numerotec.com'},
        # 						'to' : [
        # 								{
        # 									'email':to,
        # 									'name':to,
        # 									'type':'to'
        # 								},
        # 								{
        # 									'email':'ntecbackup@gmail.com',
        # 									'name':to,
        # 									'type':'to'
        # 								},
        # 							] 
        # 		}
        # result = mandrill_client.messages.send(message = message,send_async=True)
        # return ('success')

    def sendMailResetPassword(subject,html,to,confe):
        cc      = []
        bcc     = confe['e_backup_emails']
        url  = 'https://api.mailgun.net/v3/mg.numerotec.com/messages'
        auth = ('api', 'key-e13725db7c3a95b679911c038b490db1')
        # society_data = Auth.getSociety(society_id)
        data = {
        'from'   : confe['conf_name']+'<'+confe['e_from_email']+'>',
        'to'     : to,
        'cc'     : cc,
        'bcc'    : bcc,
        'subject': subject,
        'html'   : html
        }
        
        data['h:Reply-To']= confe['e_reply_to'] 
        res  = requests.post(url, auth=auth, data=data)
        return "mail sent successful."


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists