§ ;Š»jÍ ã óœ — d dl Zd dlZd dlZd dlZd dlZd dlmZm Z d dl mZ d dlm Z d dlmZ dZ G d„ de¦ « Z G d „ d ¦ « ZdS )é N)ÚbaseÚ multipart)Ú SysLogHandler)ÚOptional)ÚerrorzAleksandr Shyshatskyc ó — e Zd ZdS )ÚMailSendFailedN)Ú__name__Ú __module__Ú__qualname__© ó ú”/builddir/build/BUILDROOT/alt-python27-cllib-3.4.44-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/mail_helper.pyr r s € € € € € Ø€Dr r c óŽ — e Zd ZdZd„ Zddej dee fd„Z ddee fd„Z dedej fd „Z ddee fd „ZdS )Ú MailHelperz6Common class to send emails via local smtp or sendmailc óÄ — t j j s¶t j d¦ « r„t dt j ¬¦ « }t j |¦ « t j d¬¦ « }| |¦ « | t j ¦ « nt j ¦ « t j ¦ « | _ d S )Nz/dev/log)ÚaddressÚfacilityz3mail_helper: (%(name)s) [%(levelname)s] %(message)s)Úfmt)ÚloggingÚrootÚhandlersÚosÚpathÚexistsr Ú LOG_DAEMONÚ addHandlerÚ FormatterÚsetFormatterÚsetLevelÚERRORÚbasicConfigÚ getLoggerÚ_log)ÚselfÚSYS_LOGÚ formatter_syss r Ú__init__zMailHelper.__init__ s´ € ÝŒ|Ô$ð &ÝŒw�~Š~˜jÑ)Ô)ð &Ý'° Å]ÔE]Ð^Ñ^Ô^�Ý”×'Ò'¨Ñ0Ô0Ð0Ý 'Ô 1Ð6kÐ lÑ lÔ l� Ø×$Ò$ ]Ñ3Ô3Ð3Ø× Ò ¥¤Ñ/Ô/Ð/Ð/åÔ#Ñ%Ô%Ð%ÝÔ%Ñ'Ô'ˆŒ ˆ ˆ r NÚmsgÚ encoding_namec ó& — |r(| ¦ « |¦ « }n| ¦ « }g d¢}t j |t j t j t j d¬¦ « 5 }| |¦ « d }|j dk rt j |j ||¦ « ‚ ddd¦ « dS # 1 swxY w Y dS # t t j f$ r"}t t |¦ « ¦ « |‚d}~ww xY w)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)ÚstdinÚstdoutÚstderrÚtextr N)Ú as_stringÚencodeÚ subprocessÚPopenÚPIPEÚcommunicateÚ returncodeÚCalledProcessErrorÚOSErrorr Ústr)r% r) r* Ú s_messageÚcmdÚprocr- Úexs r Ú_sendmail_consolezMailHelper._sendmail_console* sh € ð 2Øð ,ØŸMšM™OœO×2Ò2°=ÑAÔA� � àŸMšM™OœO� Ø5Ð5Ð5ˆCÝÔ!ØÝ ”oÝ!”Ý!”Øðñ ô ð Vð Ø×)Ò)¨)Ñ4Ô4°QÔ7�Ø”? aÒ'Ð'Ý$Ô7¸¼ÈÈfÑUÔUÐUð (ð Vð Vð Vñ Vô Vð Vð Vð Vð Vð Vð Vð Vøøøð Vð Vð Vð Vð Vð Vøõ �Ô6Ð7ð 2ð 2ð 2Ý ¥ R¡¤Ñ)Ô)¨rÐ1øøøøð 2øøøs= ‚A9C Á;ACÂ>C ÃCÃC ÃCÃC ÃDÃ.DÄDc óx — t j d¦ « }|r(| ¦ « |¦ « }n| ¦ « }| |||¦ « | ¦ « dS # t j t f$ r"}t t |¦ « ¦ « |‚d}~ww xY w)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) ÚsmtplibÚSMTPr0 r1 ÚsendmailÚquitÚ SMTPExceptionÚsocketerrorr r9 )r% Ú from_addrÚto_addrsr) r* Ú smtp_instancer: r= s r Ú_sendmail_smtpzMailHelper._sendmail_smtpE sµ € ð 2Ý#œL¨Ñ5Ô5ˆMØð ,ØŸMšM™OœO×2Ò2°=ÑAÔA� � àŸMšM™OœO� Ø×"Ò" 9¨h¸ ÑBÔBÐBØ×ÒÑ Ô Ð Ð Ð øÝÔ%¥{Ð3ð 2ð 2ð 2Ý ¥ R¡¤Ñ)Ô)¨rÐ1øøøøð 2øøøs ‚A=B ÂB9ÂB4Â4B9rG c óÔ — |d s_t j | d¦ « d ¬¦ « |d<