HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/emailMarketing/__pycache__/emailMarketingManager.cpython-310.pyc
o

��h�|�@s�ddlmZmZmZddlmZddlmZddlZddl	m
Z
ddlZddlm
Z
ddlmZmZmZmZdd	lmZdd
lmZddlmZddlZddlmZmZdd
lmZddlmZGdd�d�ZdS)�)�render�HttpResponse�redirect)�
ACLManager)�
loadLoginPageN)�randint)�httpProc�)�EmailMarketing�
EmailLists�EmailsInList�	EmailJobs)�Websites)�emailMarketing)�ceil)�	SMTPHosts�
EmailTemplate)�
Administrator)�emACLc@s�eZdZd8dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�ZdS)9�EmailMarketingManagerNcCs||_||_dS)N)�request�domain)�selfrr�r�:/usr/local/CyberCP/emailMarketing/emailMarketingManager.py�__init__s
zEmailMarketingManager.__init__cCst|jddd�}|��S)Nz"emailMarketing/emailMarketing.html�admin)rrr)r�procrrrrsz$EmailMarketingManager.emailMarketingc
Cs0zu|jjd}t�|�}|ddkrnt��WSt��}tj��}g}|D]}|�	|j
�q%d}d}d}	|D],}||vr?d}
nd}
|	||
d�}|dkrU|t�|�}d}n	|dt�|�}|	d}	q6|d}d|d	�}t�|�}t
|�WSty�}
zdt|
�d
�}t�|�}t
|�WYd}
~
Sd}
~
ww)N�userIDrr	�[r)�id�userName�status�,�]�r"�data�r"�
error_message)r�sessionr�	loadedACL�	loadError�findAllUsersr
�objects�all�appendr!�json�dumpsr�
BaseException�str)rr�
currentACL�allUsers�
disabledUsers�disabled�items�	json_data�checker�counterr"�dic�data_ret�msg�	final_dic�
final_jsonrrr�
fetchUserssD







��z EmailMarketingManager.fetchUsersc
Cs�zK|jjd}t�|�}|ddkrnt��WSt�|jj�}|d}z
tj	j
|d�}|��Wn
t|d�}|��Yddi}t�
|�}t|�WStym}	zdt|	�d�}
t�
|
�}t|�WYd}	~	Sd}	~	ww)	Nrrr	r!�r!r"rr')rr)rr*�
loadErrorJsonr0�loads�bodyr
r-�get�delete�saver1rr2r3)rrr4r&r!�disableMarketing�enableMarketingr=r9r>r?r@rrr�enableDisableMarketingIs.






��z,EmailMarketingManager.enableDisableMarketingc
C�z>|jjd}t�|�}tjj|d�}t�|j||�dkrnt�	�WSt
�|j�dkr0t�	�WSt
|jdd|ji�}|��WStyT}z
tt�WYd}~Sd}~ww)Nr��pkr	rz#emailMarketing/createEmailList.htmlr�rr)rr*rr-rF�checkOwnershiprr+r�checkIfEMEnabledr!rr�KeyErrorrr�rrr4rrr>rrr�createEmailListfs



��z%EmailMarketingManager.createEmailListc
Cs&zpt�|jj�}i}|d|d<|d|d<|d�dd�|d<dttdd��|d	<|jjd
}t�	|�}t
jj|d�}t�
|d||�dkrInt��WSt�|j�d
kr[t��WSt�d�d|d	d�}t�|�}t|�WSty�}zd
t|�d�}	t�|	�}
t|
�WYd}~Sd}~ww)Nr�path�listName� ��/home/cyberpanel/i�i'�tempStatusPathrrMr	r��r"rZr')r0rDrrE�replacer3rr)rr*rr-rFrPrCrrQr!�time�sleepr1rr2)rr&�	extraArgsrr4rr=r9r>r?r@rrr�submitEmailListys2






��z%EmailMarketingManager.submitEmailListc
Cs�zE|jjd}t�|�}tjj|d�}t�|j||�dkrnt�	�WSt
�|j�dkr0t�	�WSt
�
|j�}t|jd||jd��}|��WSty[}z
tt�WYd}~Sd}~ww)NrrMr	rzemailMarketing/manageLists.html��	listNamesr)rr)rr*rr-rFrPrr+rrQr!�getEmailsListsrrrRrr)rrr4rrcrr>rrr�manageLists�s 



��z!EmailMarketingManager.manageListsc
CrL)NrrMr	rz#emailMarketing/configureVerify.htmlrrOrSrrr�configureVerify�s"


�
��z%EmailMarketingManager.configureVerifyc
Cs�z�|jjd}t�|�}tjj|d�}t�|jj	�}|d|_
t|d�}tt|d��
d��}tjj|j
d�}t�|jj||�dkrDnt�d	d
�WS|j����}d
dlm}	|	�||�}
|	�||�\}}|j��||�}
d}d
}d
}d
d
lm}|j��||�D].}|j|jkr�d}nd}||jd�}|d
kr�|t�|�}d}n	|dt�|�}|d}q�|d}|j ����}|j!}|j"}d||
|||d�}t�|�}t#|�WSt$y�}zd
t|�d�}t�|�}t#|�WYd}~Sd}~ww)NrrMrV�
recordsToShow�page�
�rVr	r"r)�	S3Backupsr)�backupSchedule�INFO�ERROR�r"�messager#r$)r"�logs�
pagination�totalEmails�verified�notVerifiedr')%rr)rr*rr-rFr0rDrErV�intr3�striprrP�ownerrrC�validationlog_setr.�count�s3Backups.s3Backupsrk�
getPagination�recordsPointer�plogical.backupSchedulerlr"rmrpr1�emailsinlist_setrtrurr2)rrr4rr&rgrh�	emailList�logsLenrkrr�
endPageNumber�finalPageNumber�	finalLogsr9r:r;rl�logr"r<�
totalEmailrtrur=r>rrr�fetchVerifyLogs�sZ

�



��z%EmailMarketingManager.fetchVerifyLogsc
Cs�z\|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}d}ddl
}|j�|�s7|�|�d||f}t|d�}|�|jj���|��dd	i}	t
�|	�}
t|
�WSty~}zdt|�d
�}t
�|�}
t|
�WYd}~Sd}~ww)NrrMrrz /home/cyberpanel/configureVerifyz%s/%s�wr"r	r')rr)rr-rFrrQr!rrCr0rDrE�osrU�exists�mkdir�open�write�decode�closer1rr2r3)rrrr&r�configureVerifyPathr��	finalPath�writeToFiler=r9r>r?r@rrr�saveConfigureVerify
s0





��z)EmailMarketingManager.saveConfigureVerifyc
Csz�|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}t
|d�}t
|d�}|||}||}tjj|d�}	t�|�}
|
dd	krOn|	jj|krZt�	�WS|	j��}tt|��t|�}g}
d	}|d
kryd	}|
�|�nt|�}t
|�d	}td	|�D]}|
�|�|d	}q�|||�}d}d}d	}|D](}|j|j|j|jd�}|dkr�|t
�|�}d	}n	|d
t
�|�}|d	}q�|d}d	||
d�}t
�|�}t|�WSt�y}zdt|�d�}t
�|�}t|�WYd}~Sd}~ww)NrrMrrV�
recordstoShowrhrjrr	g�?r)r �email�verificationStatus�dateCreatedr#r$)r"r&rrr') rr)rr-rFrrQr!rrCr0rDrErvrr*rxr rr.�float�lenr/r�ranger�r�r�r1rr2r3)rrrr&rVr�rhr�r�r�r4�emails�pagesrrr;�
finalPages�ir9r:r8r<r=r>r?r@rrr�fetchEmails/sh





�



��z!EmailMarketingManager.fetchEmailsc
Cs�zU|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}t
jj|d�}t�|�}|ddkr9n|jj|krDt�	�WS|��ddi}t
�|�}t|�WStyw}	zdt|	�d	�}
t
�|
�}t|�WYd}	~	Sd}	~	ww)
NrrMrrVrjrr	r"r')rr)rr-rFrrQr!rrCr0rDrErr*rxr rGr1rr2r3)rrrr&rV�delListr4r=r9r>r?r@rrr�
deleteListzs.





��z EmailMarketingManager.deleteListc

Csze|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}i}|d|d<t
jj|dd�}t�|�}|ddkr?n|jj|krJt�	�WStd|�}|��t�d	�d
di}t
�|�}	t|	�WSty�}
zdt|
�d�}t
�|�}t|�WYd}
~
Sd}
~
ww)NrrMrrVrjrr	�verificationJobr[r"r')rr)rr-rFrrQr!rrCr0rDrErr*rxr �EM�startr^r_r1rr2r3)
rrrr&r`r�r4�emr=r9r>r?r@rrr�emailVerificationJob�s4







��z*EmailMarketingManager.emailVerificationJobc
Cs�zV|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}t
jj|d�}t�|�}|ddkr9n|jjj|krEt�	�WS|��ddi}t
�|�}t|�WStyx}	zdt|	�d	�}
t
�|
�}t|�WYd}	~	Sd}	~	ww)
NrrMrr �r rr	r"r')rr)rr-rFrrQr!rrCr0rDrErr*rxr rGr1rr2r3)rrrr&r �delEmailr4r=r9r>r?r@rrr�deleteEmail�s.





��z!EmailMarketingManager.deleteEmailc

Cs�zY|jjd}t�|�}tjj|d�}t�|j||�dkrnt�	�WSt
�|j�dkr0t�	�WSt
jj|jd�}|j��}g}|D]}|�|j�qAt|jd||jd��}|��WStyo}	z
tt�WYd}	~	Sd}	~	ww)NrrMr	r)rz#emailMarketing/manageSMTPHosts.htmlrb)rr)rr*rr-rFrPrr+rrQr!r�emaillists_setr.r/rVrrrRrr)
rrr4r�website�
emailListsrcr8rr>rrr�
manageSMTP�s,




�
��z EmailMarketingManager.manageSMTPc
Cs�z�|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}|d}|d}|d}t
j��dkrMtjjdd	�}t
|d
dddd
�}|��z4t�t|�t|��}	t|�dkrb|	��|	�t|�t|��tjj|d�}t
|||||d
�}
|
��WnItjy�ddd�}t
�|�}t|�YWStjy�ddd�}t
�|�}t|�YWStjy�ddd�}t
�|�}t|�YWSwddi}t
�|�}t|�WSty�}
zdt|
�d�}t
�|�}t|�WYd}
~
Sd}
~
ww)NrrMr�smtpHost�smtpPort�smtpUserName�smtpPasswordrrB�	localhost��None)rx�host�portr!�password�K�7The server did not reply properly to the HELO greeting.r'�/Username and password combination not accepted.�,No suitable authentication method was found.r"r	)rr)rr-rFrrQr!rrCr0rDrErrzrH�smtplib�SMTPr3rv�starttls�login�
SMTPHeloErrorr1r�SMTPAuthenticationError�
SMTPExceptionr2)rrrr&r�r�r�r��defaultHost�verifyLogin�newHostr=r9r>r?r@rrr�saveSMTPHost�s\

�





�


��z"EmailMarketingManager.saveSMTPHostc
CsBz~|jjd}tjj|d�}t�|j�dkrt�	�WSt�
|�}|ddkr,tj��}ntjj|d�}|j
��}d}d}d}|D]+}|j|jj|j|j|jd�}	|dkr^|t�|	�}d}n	|dt�|	�}|d}q@|d	}d|d
�}
t�|
�}t|�WSty�}zdt|�d�}t�|�}
t|
�WYd}~Sd}~ww)NrrMrrr	r)r rxr�r�r!r#r$r%r')rr)rr-rFrrQr!rrCr*rr.�
smtphosts_setr rxr�r�r0r1rr2r3)rrrr4�allHostsr9r:r;r8r<r=r>r?r@rrr�fetchSMTPHosts*s@


�




��z$EmailMarketingManager.fetchSMTPHostsc
CsX�z|jjd}tjj|d�}t�|�}t�|j	�dkr!t�
�WSt�|jj
�}|d}|d}|dkrttjj|d�}t�||j|�dkrJt�
�WSt�|�}|dd	krVn|jj|krat�
�WS|��d	d
d�}t�|�}	t|	�WSzJtjj|d�}
t�||
j|�dkr�t�
�WWSt�t|
j�t|
j��}t|
j�dkr�|��|�t|
j	�t|
j��d	d
d�}t�|�}	t|	�WWStjy�ddd�}t�|�}	t|	�YWStjy�ddd�}t�|�}	t|	�YWStj �yddd�}t�|�}	t|	�YWSwt!�y+}zdt|�d�}
t�|
�}t|�WYd}~Sd}~ww)NrrMrr �	operationrGr�rr	zSuccessfully deleted.ror�zLogin successful.r�r'r�r�)"rr)rr-rFrr*rrQr!rCr0rDrEr�VerifySMTPHostrxr rGr1rr�r�r3r�rvr�r�r�r�r�r�r�r2)rrrr4r&r r��delHostr=r9�
verifyHostr�r>r?r@rrr�smtpHostOperationsUsh















�
��z(EmailMarketingManager.smtpHostOperationsc
Cszz&|jjd}tjj|d�}t�|j�dkrt�	�WSt
|jdd�}|��WSty<}z
t
t�WYd}~Sd}~ww)NrrMrz#emailMarketing/composeMessages.html)rr)rr-rFrrQr!rrCrrrRrr)rrrrr>rrr�composeEmailMessage�s
�
��z)EmailMarketingManager.composeEmailMessagec
Cs"zn|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}|d}|d}|d}|d}|d	}	t�
d
|�dkrGt�	�WStjj|d�}t||�dd�|||||	d
�}
|
��ddi}t
�|�}t|�WSty�}
zdt|
�d�}t
�|�}t|�WYd}
~
Sd}
~
ww)NrrMr�name�subject�fromName�	fromEmail�replyTo�emailMessagez
[\w\d\s]+$rWrX)rxr�r�r�r�r�r�r"r	r')rr)rr-rFrrQr!rrCr0rDrE�
CheckRegExrr]rHr1rr2r3)rrrr&r�r�r�r�r�r��newTemplater=r9r>r?r@rrr�saveEmailTemplate�s8

�


��z'EmailMarketingManager.saveEmailTemplatec

Cs�zK|jjd}tjj|d�}t�|j�dkrt�	�WSt�
|�}t�||�}t�||�}t�
||�}i}||d<||d<||d<t|jd|�}|��WStya}	z
tt�WYd}	~	Sd}	~	ww)NrrMr�
templateNames�	hostNamesrczemailMarketing/sendEmails.html)rr)rr-rFrrQr!rrCr*�allTemplates�allSMTPHosts�allEmailsListsrrrRrr)
rrrr4r�r�rc�Datarr>rrr�
sendEmails�s*

�
��z EmailMarketingManager.sendEmailsc
Cs�z1|jjd}tjj|d�}tjj|jd�}t�|�}|ddkr"n
|j	|kr,t�
�WSt|j�WSt
yG}z
tt�WYd}~Sd}~ww)NrrM�r�rr	)rr)rr-rFrrrr*rxr+rr�rRrr)rrr�templater4r>rrr�templatePreview�s


��z%EmailMarketingManager.templatePreviewc
Cshz�|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}t
jj|d�}t�|�}|ddkr9n
|j|krCt�	�WStjj|d�}d	}d}	d}
|D],}|j|j|j|j|j|jd
�}|	dkrq|t
�|�}d}	n	|dt
�|�}|
d}
qR|d}d|d
�}
t
�|
�}t|�WSty�}zdt|�d�}t
�|�}t|�WYd}~Sd}~ww)NrrMr�selectedTemplater�rr	)rxr)r �dater�rs�sent�failedr#r$r%r')rr)rr-rFrrQr!rrCr0rDrErr*rxr
�filterr r�r�rsr�r�r1rr2r3)rrrr&r�r�r4�allJobsr9r:r;r8r<r=r>r?r@rrr�	fetchJobs�sP



�




��zEmailMarketingManager.fetchJobsc

Csjz�|jjd}tjj|d�}t�|jj�}i}|d|d<|d|d<|d|d<z|d|d<Wnd|d<Yz|d|d<Wnd|d<Yd	|dd
|d<t�	|�}t
jj|dd�}|d
dkrjn
|j|krtt��WSt
d|�}|��t�d�d|dd�}t�|�}	t|	�WSty�}
zdt|
�d�}t�|�}t|�WYd}
~
Sd}
~
ww)NrrMr�rVr��verificationCheckF�unsubscribeCheckrY�_pendingJobrZr�rr	�
startEmailJob�r\rr')rr)rr-rFr0rDrErr*rrxrCr�r�r^r_r1rr2r3)
rrrr&r`r4r�r�r=r9r>r?r@rrrr�#sF









��z#EmailMarketingManager.startEmailJobc
Cs�zG|jjd}tjj|d�}t�|jj�}|d}tjj|d�}t	�
|�}|ddkr,n
|j|kr6t	��WS|�
�ddi}t�|�}t|�WStyi}	zdt|	�d	�}
t�|
�}t|�WYd}	~	Sd}	~	ww)
NrrMr�r�rr	r"rr')rr)rr-rFr0rDrErrr*rxrCrGr1rr2r3)rrrr&r��delTemplater4r=r9r>r?r@rrr�deleteTemplateMs*





��z$EmailMarketingManager.deleteTemplatec
Cs�z<|jjd}tjj|d�}t�|j�dkrt�	�WSt
�|jj�}|d}t
|d�}|��ddi}t
�|�}t|�WSty^}zdt|�d�}	t
�|	�}
t|
�WYd}~Sd}~ww)	NrrMrr r�r"r	r')rr)rr-rFrrQr!rrCr0rDrEr
rGr1rr2r3)rrrr&r �delJobr=r9r>r?r@rrr�	deleteJobfs$




��zEmailMarketingManager.deleteJobcCsHztjj|d�}tjj||d�}d|_|��Wtd�SYtd�S)Nrj)rxr��REMOVEDz1Email Address Successfully removed from the list.)rr-rFrr�rHr)rrV�emailAddress�eList�removeEmailrrr�removezs
�zEmailMarketingManager.remove)NN)�__name__�
__module__�__qualname__rrrArKrTrarerfr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrs8
.$D"K!8+A!4*r) �django.shortcutsrrr�plogical.aclr�loginSystem.viewsrr0�randomrr^�plogical.httpProcr�modelsr
rrr
�websiteFunctions.modelsrrr��mathrr�rr�loginSystem.modelsrrrrrrr�<module>s