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

from flask import request, url_for,flash, render_template,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 Mailgun:  
	def sendMail(subject,html,to,mailData,conf_id,confData):
		confData        = confData if confData else Auth.get_conference(conf_id)
		if confData:
			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']
			if mailData and type(mailData) is not dict:
				mailData = dict(mailData._mapping)
			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']

			# for sending backup mails 
			if mailData and mailData['is_send_backup']:
				if int(mailData.get('is_send_backup',0))==1:
					bcc = [bcc_mails]
				else:
					bcc = []
			else:
				bcc = []
				
			if  mailData and mailData.get('CC',None):
				cc = mailData.get('CC')
			elif  mailData and mailData.get('cc_mails',None):
				cc = mailData.get('cc_mails')
			else:
				cc = []
					
			cc      = cc
			url     = 'https://api.mailgun.net/v3/'+confData['domain']+'/messages'
			auth    = ('api',confData['secret_key'])
			data    = {
			'from'   : from_mail_name+'<'+from_mail_id+'>',
			'to'     : to,
			'cc'     : cc,
			'bcc'    : bcc,
			'subject': subject,
			'html'   : html
			}
			data['h:Reply-To']= reply_mail_id
			res  = requests.post(url, auth=auth, data=data)
			return "mail sent successful." 
		else:
			return redirect (url_for('user.Home_index'))
			
	def sendMail_v2(subject,html,mailData,conf_id,confData,attachmentData=None):
		confData        = confData if confData else Auth.get_conference(conf_id)
		to = []
		cc = []
		bcc = []
		# print('attachmentData - ',attachmentData)
		if confData:
			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']
			if mailData and type(mailData) is not dict:
				mailData = dict(mailData._mapping)
			if mailData:
				if mailData.get('bcc_mails',None):
					bcc_mails = mailData.get('bcc_mails')   
				if mailData.get('from_mail_name',None):
					from_mail_name = mailData['from_mail_name']
				if mailData.get('from_mail_id',None):
					from_mail_id = mailData['from_mail_id']
				if mailData.get('reply_mail_id',None):
					reply_mail_id = mailData['reply_mail_id']

				if mailData.get('is_send_backup',None):
					if int(mailData.get('is_send_backup',0))==1:
						bcc = [bcc_mails]
				# if mailData.get('CC',None):
				# 	cc = mailData.get('CC')
				if mailData.get('TO',None):
					to = mailData.get('TO')
				
				
				if  mailData and mailData.get('CC',None):
					cc = mailData.get('CC')
				elif  mailData and mailData.get('cc_mails',None):
					cc = mailData.get('cc_mails')
				else:
					cc = []
					
				
			cc      = cc
			url     = 'https://api.mailgun.net/v3/'+confData['domain']+'/messages'
			auth    = ('api',confData['secret_key'])
			data    = {
			'from'   : from_mail_name+'<'+from_mail_id+'>',
			'to'     : to,
			'cc'     : cc,
			'bcc'    : bcc,
			'subject': subject,
			'html'   : html
			}
			data['h:Reply-To']= reply_mail_id
			files = []
			if attachmentData:
				# files = [("attachment", f'data:{attachmentData["type"]};base64,{attachmentData["content"]}')]
				# files = [("attachment", (attachmentData['name'], attachmentData['content'], attachmentData['type']))]
				files = [("attachment", (attachmentData['name'],attachmentData['content'] ))]

			# print('data - ',attachmentData['content'])	
			res  = requests.post(url, auth=auth, data=data,files=files)
			return "mail sent successful." 
		else:
			return "Invalid Conference"


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