Sindbad~EG File Manager
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