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/Mandrill.py

from flask import request, url_for,flash, render_template,jsonify,redirect
from core import app
from flask import url_for
from datetime import datetime, date, time, timedelta
import requests,mandrill,json
from core.library.auth import Auth

class Mandrill:	

	def sendMail(subject,html,to,mailData,conf_id,confData = None):
		confData		= confData if confData else Auth.get_conference(conf_id)
		if confData:
			# print(confData['conf_name'])
			bcc_mails 		= confData['e_backup_emails']
			from_mail_name 	= confData['conf_name'] +" - Scientific Committee",
			from_mail_id 	= confData['e_from_email']
			reply_mail_id 	= confData['e_reply_to']
			from_mail_name  = from_mail_name[0]
			# print(from_mail_name)
			# print(confData['conf_name'] +' Abstract Submission')
			if mailData and type(mailData) != "dict":
				mailData = dict(mailData)
			if mailData:
				if mailData['bcc_mails']:
					bcc_mails = mailData['bcc_mails']	
				if mailData['from_mail_name']:
					from_mail_name = mailData['from_mail_name']
				if mailData['from_mail_id'] :
					from_mail_id = mailData['from_mail_id']
				if mailData['reply_mail_id'] :
					reply_mail_id = mailData['reply_mail_id']


			bcc_list = []
			if int(mailData['is_send_backup'])==1:
				
				if bcc_mails:
					for bcc in bcc_mails.split(","):
						bcc_list.append({'email':bcc,'name':to,'type':'to'})
			else:
				pass
		
			if to:
				# XEs1ytJQpEwaZSq25YgB4Q
				# MANDRILL_API_KEY='XEs1ytJQpEwaZSq25YgB4Q' # IP ADDRESS ENABLED
				MANDRILL_API_KEY = confData['secret_key']
				mandrill_client = mandrill.Mandrill(MANDRILL_API_KEY)

				message = {
					'subject'    : subject, 
					'recipients' : to,
					'from_name'  : from_mail_name,
					'html'       : html, 
					'from_email' : from_mail_id,
					"headers"    : {"Reply-To": reply_mail_id} ,
					'to'         : [{'email':to,'name':to,'type':'to'}]+bcc_list 
					}
				result = mandrill_client.messages.send(message = message,send_async=True)
				return ('success')
			else:
				return ('Email id is blank')
		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 Auth.get_conference(conf_id)
		if confData:
			# print(confData['conf_name'])
			bcc_mails 		= confData['e_backup_emails']
			from_mail_name 	= confData['conf_name'] +" - Scientific Committee",
			from_mail_id 	= confData['e_from_email']
			reply_mail_id 	= confData['e_reply_to']
			from_mail_name  = from_mail_name[0]
			# print(from_mail_name)
			# print(confData['conf_name'] +' Abstract Submission')
			if mailData and type(mailData) != "dict":
				mailData = dict(mailData)
			if mailData:
				if mailData['bcc_mails']:
					bcc_mails = mailData['bcc_mails']	
				if mailData['from_mail_name']:
					from_mail_name = mailData['from_mail_name']
				if mailData['from_mail_id'] :
					from_mail_id = mailData['from_mail_id']
				if mailData['reply_mail_id'] :
					reply_mail_id = mailData['reply_mail_id']


			bcc_list = []
			if int(mailData['is_send_backup'])==1:
				
				if bcc_mails:
					for bcc in bcc_mails.split(","):
						bcc_list.append({'email':bcc,'name':to,'type':'to'})
			else:
				pass
				
			
			if mailData and mailData.get('TO'):
				to = mailData.get('TO')
			else:
				to = []
		
			if to:
				# XEs1ytJQpEwaZSq25YgB4Q
				# MANDRILL_API_KEY='XEs1ytJQpEwaZSq25YgB4Q' # IP ADDRESS ENABLED
				MANDRILL_API_KEY = confData['secret_key']
				mandrill_client = mandrill.Mandrill(MANDRILL_API_KEY)

				message = {
					'subject'    : subject, 
					'recipients' : to,
					'from_name'  : from_mail_name,
					'html'       : html, 
					'from_email' : from_mail_id,
					"headers"    : {"Reply-To": reply_mail_id} ,
					'to'         : [{'email':to,'name':to,'type':'to'}]+bcc_list 
					}
				if attachmentData:
					message['attachments'] =  [{'content': base64.b64encode(attachmentData["content"]).decode('ascii'), 'type': attachmentData["type"], 'name': attachmentData["name"]}]

				result = mandrill_client.messages.send(message = message,send_async=True)
				return ('success')
			else:
				return ('Email id is blank')
		else:
			return "Invalid Conference"


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