Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/clcommon/__pycache__/mail_helper.cpython-311.pyc



]jddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddlm
Z
ddlmZdZGddeZGd	d
ZdS)N)base	multipart)
SysLogHandler)Optional)errorzAleksandr ShyshatskyceZdZdS)MailSendFailedN)__name__
__module____qualname__t/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/clcommon/mail_helper.pyr	r	sDrr	ceZdZdZdZddejdeefdZ	ddeefdZ
dedejfd	Z
ddeefd
ZdS)
MailHelperz6Common class to send emails via local smtp or sendmailctjjstjdrt
dtj}tj|tj	d}|
||tjntj
tj|_dS)Nz/dev/log)addressfacilityz3mail_helper: (%(name)s) [%(levelname)s] %(message)s)fmt)loggingroothandlersospathexistsr
LOG_DAEMON
addHandler	FormattersetFormattersetLevelERRORbasicConfig	getLogger_log)selfSYS_LOG
formatter_syss   r__init__zMailHelper.__init__s|$	&w~~j))
&'
]E]^^^''000 ' 16k l l l
$$]333  ////#%%%%''			rNmsg
encoding_namec&	|r(||}n|}gd}tj|tjtjtjd5}||d}|jdkrtj|j||	ddddS#1swxYwYdS#ttjf$r"}tt||d}~wwxYw)z
        Alternative function that should be called
        when we cannot send email via smtp
        :type msg: email.mime.base.MIMEBase
        :type encoding_name: encoding name to encode message text
        )z/usr/sbin/sendmailz-tz-oiT)stdinstdoutstderrtextrN)	as_stringencode
subprocessPopenPIPEcommunicate
returncodeCalledProcessErrorOSErrorr	str)r%r)r*	s_messagecmdprocr-exs        r_sendmail_consolezMailHelper._sendmail_console*sh	2
,MMOO22=AA		MMOO	555C! o!!	
V)))44Q7?a''$7fUUU(	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V	
V67	2	2	2 R))r1	2s=A9C;AC>CCCCCD.DDcx	tjd}|r(||}n|}|||||dS#tjtf$r"}tt||d}~wwxYw)z
        Send email using smtp protocol;
        :type from_addr: str
        :type to_addrs: List[str]
        :type msg: email.mime.base.MIMEBase
        :type encoding_name: encoding name to encode message text
        	localhostN)
smtplibSMTPr0r1sendmailquit
SMTPExceptionsocketerrorr	r9)r%	from_addrto_addrsr)r*
smtp_instancer:r=s        r_sendmail_smtpzMailHelper._sendmail_smtpEs		2#L55M
,MMOO22=AA		MMOO	""9h	BBB     %{3	2	2	2 R))r1	2sA=BB9B44B9rGc|ds_tj|dd|d<|jd|ddSdS)z{Add Message-ID to message if it is missing
        :type from_addr: str
        :type msg: multipart.MIMEMultipart
        z
Message-ID@)domainzAdded Message-ID: %sN)emailutils
make_msgidsplitr$debug)r%rGr)s   r_add_message_idzMailHelper._add_message_idXso
< 	G % 6 6iooc>R>RSU>V 6 W WCIOO2C4EFFFFF	G	Grc|jd||||||	|||||dS#t$r}|jd	||nQ#t$rD|jd|jt|Yn
wxYwYd}~dSYd}~dSd}~wwxYw)a0
        Try to send message using local smtp;
        If that can't be done - try to use /usr/sbin/sendmail;
        :type from_addr: str
        :type to_addrs: List[str]
        :type msg: multipart.MIMEMultipart
        :type encoding_name: Optional[str] encoding name to encode message text
        z+Trying to send mail with params: %s, %s, %sz-Smtp send failed, trying to send via sendmailzcCannot send email neither via smtp nor using sendmail; Please, check your mail server configurationN)	r$rSrTrJr	r>	exceptionrr9)r%rGrHr)r*smtp_exceptions      rrCzMailHelper.sendmailas4	
	EyRZ\_```Y,,,		5	8S-HHHHH	5	5	5IOOKLLL
5&&s++++!
5
5
5	##%STTT	N 3 344444
5,+++++544444	5s<A
C,C'4B
	C'
ACC'CC''C,)N)r
rr__doc__r(	mime_baseMIMEBaserr9r>rJr
MIMEMultipartrTrCr
rrrrs@@
(
(
(22Y%72QT
2222622hsm2222&GG93JGGGG55
555555rr)email.utilsrOrrrAr2
email.mimerrYrlogging.handlersrtypingr_socketrrF
__author__	Exceptionr	rr
rr<module>rcs				33333333******((((((
#
					Y			Z5Z5Z5Z5Z5Z5Z5Z5Z5Z5r
Back to Directory File Manager