grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ ¬Û+‚FOãóF—dZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z ddl m Z m Z gd¢ZdZe eed¬¦«ddlZddlZejdZd ZGd „d ¦«Ze¦«ad Zd ZdZd%d„ZGd„dej¦«ZGd„dej¦«ZGd„de¦«Z Gd„de¦«Z!Gd„d¦«Z"d„Z#edk�rMe#¦«Z$e$j%Z%de%vrJe% &d¦«Z'e(e%de'…e)¦«e*¦«dg¦«Z+e%e'dzd…Z%nddl,Z+e-e+e%¦«Z.e.e$j/e$j0fe$j1e$j2fe$j3e$j4¬¦«Z5e$j6rˆ ddl7Z7n-#e8$r%e9d ej:¬!¦«ej;d¦«YnwxYwe7j<d"¦«d#Z= ej6e=¦«n-#e>$r%e9d$ej:¬!¦«ej;d¦«YnwxYw ej?¦«dS#e@$rYdSwxYwdS)&a­An RFC 5321 smtp proxy with optional RFC 1870 and RFC 6531 extensions. Usage: %(program)s [options] [localhost:localport [remotehost:remoteport]] Options: --nosetuid -n This program generally tries to setuid `nobody', unless this flag is set. The setuid call will fail if this program is not run as root (in which case, use this flag). --version -V Print the version number and exit. --class classname -c classname Use `classname' as the concrete SMTP proxy class. Uses `PureProxy' by default. --size limit -s limit Restrict the total size of the incoming message to "limit" number of bytes via the RFC 1870 SIZE extension. Defaults to 33554432 bytes. --smtputf8 -u Enable the SMTPUTF8 extension and behave as an RFC 6531 smtp proxy. --debug -d Turn on debugging prints. --help -h Print this message and exit. Version: %(__version__)s If localhost is not given then `localhost' is used, and if localport is not given then 8025 is used. If remotehost is not given then `localhost' is used, and if remoteport is not given, then 25 is used. éN)Ú _deprecatedÚwarn)Ú get_addr_specÚget_angle_addr)Ú SMTPChannelÚ SMTPServerÚDebuggingServerÚ PureProxyz±The {name} module is deprecated and unmaintained and will be removed in Python {remove}. Please see aiosmtpd (https://aiosmtpd.readthedocs.io/) for the recommended replacement.)éé )ÚremovezPython SMTP proxy version 0.3có—eZdZd„Zd„ZdS)ÚDevnullcó—dS©N©©ÚselfÚmsgs ú,/opt/alt/python311/lib64/python3.11/smtpd.pyÚwritez Devnull.writeió€€€ócó—dSrr©rs rÚflushz Devnull.flushjrrN)Ú__name__Ú __module__Ú __qualname__rrrrrrrhs"€€€€€ØÐÐØÐÐÐÐrrú z, iÚcóÆ—ttt¦«ztj¬¦«|rt|tj¬¦«tj|¦«dS)N©Úfile)ÚprintÚ__doc__ÚglobalsÚsysÚstderrÚexit)Úcoders rÚusager,ssN€Ý �'•G‘I”IÑ ¥C¤JÐ/Ñ/Ô/Ð/Ø ð$Ý ˆc�œ Ð#Ñ#Ô#Ð#Ý„HˆT�N„N€N€N€Nrcó*—eZdZdZdZdZejefd„¦«Ze d„¦«Z e dddfd„Z d „Z d „Ze d „¦«Zejd „¦«Ze d „¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd„¦«Ze d„¦«Zejd „¦«Zd!„Zd"„Zd#„Zd$„Zd%„Zd&„Z d'„Z!d(„Z"d)„Z#d*„Z$d+„Z%d,„Z&d-„Z'd.„Z(d/„Z)d0„Z*d1„Z+dS)2rréicó—|Srr)Úxs rúzSMTPChannel.s€Èq€rcó~— t|j ¦«¦«S#t$r |jcYSwxYwr)ÚmaxÚcommand_size_limitsÚvaluesÚ ValueErrorÚcommand_size_limitrs rÚmax_command_size_limitz"SMTPChannel.max_command_size_limit�sN€ð +Ý�tÔ/×6Ò6Ñ8Ô8Ñ9Ô9Ð 9øÝð +ð +ð +ØÔ*Ð *Ð *Ð *ð +øøøs ‚%(¨<»<NFcóZ—tj |||¬¦«||_||_||_||_||_||_|r|rtd¦«‚|r"d|_ d|_ d|_ t|_n)d|_ d|_ td¦«|_ d |_| ¦«d|_d |_|j ¦«t+j¦«|_ | ¦«|_nB#t4$r5}| ¦«|jt8jkr‚Yd}~dSd}~wwxYwt=d t?|j¦«t@¬ ¦«| !d |j›dtD›�¦«dS)N©ÚmapúFdecode_data and enable_SMTPUTF8 cannot be set to True at the same timer!ú ú.ró ó.ó FzPeer:r#z220 ú )#ÚasynchatÚ async_chatÚ__init__Ú smtp_serverÚconnÚaddrÚdata_size_limitÚenable_SMTPUTF8Ú _decode_datar6Ú _emptystringÚ_linesepÚ_dotsepÚNEWLINEÚ_newlineÚordÚ_set_rset_stateÚ seen_greetingÚ extended_smtpr4ÚclearÚsocketÚgetfqdnÚfqdnÚ getpeernameÚpeerÚOSErrorÚcloseÚerrnoÚENOTCONNr%ÚreprÚ DEBUGSTREAMÚpushÚ __version__) rÚserverrGrHrIr;rJÚ decode_dataÚerrs rrEzSMTPChannel.__init__ˆs·€åÔ×$Ò$ T¨4°SÐ$Ñ9Ô9Ð9Ø!ˆÔ؈Œ ؈Œ Ø.ˆÔØ.ˆÔØ'ˆÔØ ð A˜{ð AÝð@ñAôAð Aà ð "Ø "ˆDÔ Ø"ˆDŒM؈DŒLÝ#ˆDŒMˆMà #ˆDÔ Ø#ˆDŒMݘt™9œ9ˆDŒLØ!ˆDŒMØ ×ÒÑÔÐØˆÔØ"ˆÔØ Ô ×&Ò&Ñ(Ô(Ð(Ý”NÑ$Ô$ˆŒ ð Ø×(Ò(Ñ*Ô*ˆDŒIˆIøÝð ð ð ð �JŠJ‰LŒLˆLØŒy�EœNÒ*Ð*ØØ ˆFˆFˆFˆFˆFøøøøð  øøøõ ˆg•t˜DœI‘”­[Ð9Ñ9Ô9Ð9Ø � Š ˆ  ¤  ­K¨KÐ8Ñ9Ô9Ð9Ð9Ð9sÄDÄ EÄ%*EÅEcó€—|j|_d|_g|_d|_d|_| d¦«dS)z/Reset state variables to their post-DATA state.NFrr?)ÚCOMMANDÚ smtp_stateÚmailfromÚrcpttosÚrequire_SMTPUTF8Ú num_bytesÚset_terminatorrs rÚ_set_post_data_statez SMTPChannel._set_post_data_state¯sB€àœ,ˆŒØˆŒ ؈Œ Ø %ˆÔ؈ŒØ ×Ò˜GÑ$Ô$Ð$Ð$Ð$rcóJ—| ¦«d|_g|_dS)z.Reset all state variables except the greeting.r!N)rnÚ received_dataÚreceived_linesrs rrRzSMTPChannel._set_rset_state¸s*€à ×!Ò!Ñ#Ô#Ð#ØˆÔØ ˆÔÐÐrcó<—tdtd¦«|jS)NzTAccess to __server attribute on SMTPChannel is deprecated, use 'smtp_server' insteadé©rÚDeprecationWarningrFrs rÚ__serverzSMTPChannel.__serverÀs*€å ð(Ý);¸Qñ @ô @ð @àÔÐrcó@—tdtd¦«||_dS)NzRSetting __server attribute on SMTPChannel is deprecated, set 'smtp_server' insteadrsrt©rÚvalues rrvzSMTPChannel.__serverÅs/€å ð(Ý);¸Qñ @ô @ð @à ˆÔÐÐrcó<—tdtd¦«|jS)NzUAccess to __line attribute on SMTPChannel is deprecated, use 'received_lines' insteadrs©rrurqrs rÚ__linezSMTPChannel.__lineËs*€å ð+Ý,>Àñ Cô Cð CàÔ"Ð"rcó@—tdtd¦«||_dS)NzSSetting __line attribute on SMTPChannel is deprecated, set 'received_lines' insteadrsr{rxs rr|zSMTPChannel.__lineÐs/€å ð+Ý,>Àñ Cô Cð Cà#ˆÔÐÐrcó<—tdtd¦«|jS)NzRAccess to __state attribute on SMTPChannel is deprecated, use 'smtp_state' insteadrs©rrurhrs rÚ__statezSMTPChannel.__stateÖs&€å ð'Ý(:¸Añ ?ô ?ð ?àŒÐrcó@—tdtd¦«||_dS)NzPSetting __state attribute on SMTPChannel is deprecated, set 'smtp_state' insteadrsrrxs rr€zSMTPChannel.__stateÛs)€å ð'Ý(:¸Añ ?ô ?ð ?àˆŒˆˆrcó<—tdtd¦«|jS)NzXAccess to __greeting attribute on SMTPChannel is deprecated, use 'seen_greeting' insteadrs©rrurSrs rÚ __greetingzSMTPChannel.__greetingáó*€å ð*Ý+=¸qñ Bô Bð BàÔ!Ð!rcó@—tdtd¦«||_dS)NzVSetting __greeting attribute on SMTPChannel is deprecated, set 'seen_greeting' insteadrsrƒrxs rr„zSMTPChannel.__greetingæó/€å ð*Ý+=¸qñ Bô Bð Bà"ˆÔÐÐrcó<—tdtd¦«|jS)NzSAccess to __mailfrom attribute on SMTPChannel is deprecated, use 'mailfrom' insteadrs©rrurirs rÚ __mailfromzSMTPChannel.__mailfromìs&€å ð%Ý&8¸!ñ =ô =ð =àŒ}Ðrcó@—tdtd¦«||_dS)NzQSetting __mailfrom attribute on SMTPChannel is deprecated, set 'mailfrom' insteadrsr‰rxs rrŠzSMTPChannel.__mailfromñs)€å ð%Ý&8¸!ñ =ô =ð =àˆŒ ˆ ˆ rcó<—tdtd¦«|jS)NzQAccess to __rcpttos attribute on SMTPChannel is deprecated, use 'rcpttos' insteadrs©rrurjrs rÚ __rcpttoszSMTPChannel.__rcpttos÷s&€å ð$Ý%7¸ñ <ô <ð <àŒ|Ðrcó@—tdtd¦«||_dS)NzOSetting __rcpttos attribute on SMTPChannel is deprecated, set 'rcpttos' insteadrsr�rxs rrŽzSMTPChannel.__rcpttosüs)€å ð$Ý%7¸ñ <ô <ð <àˆŒ ˆ ˆ rcó<—tdtd¦«|jS)NzTAccess to __data attribute on SMTPChannel is deprecated, use 'received_data' insteadrs©rrurprs rÚ__datazSMTPChannel.__datar…rcó@—tdtd¦«||_dS)NzRSetting __data attribute on SMTPChannel is deprecated, set 'received_data' insteadrsr‘rxs rr’zSMTPChannel.__datar‡rcó<—tdtd¦«|jS)NzKAccess to __fqdn attribute on SMTPChannel is deprecated, use 'fqdn' insteadrs©rrurXrs rÚ__fqdnzSMTPChannel.__fqdn ó&€å ð!Ý"4°añ 9ô 9ð 9àŒyÐrcó@—tdtd¦«||_dS)NzISetting __fqdn attribute on SMTPChannel is deprecated, set 'fqdn' insteadrsr•rxs rr–zSMTPChannel.__fqdnó)€å ð!Ý"4°añ 9ô 9ð 9àˆŒ ˆ ˆ rcó<—tdtd¦«|jS)NzKAccess to __peer attribute on SMTPChannel is deprecated, use 'peer' insteadrs©rrurZrs rÚ__peerzSMTPChannel.__peerr—rcó@—tdtd¦«||_dS)NzISetting __peer attribute on SMTPChannel is deprecated, set 'peer' insteadrsr›rxs rrœzSMTPChannel.__peerr™rcó<—tdtd¦«|jS)NzKAccess to __conn attribute on SMTPChannel is deprecated, use 'conn' insteadrs©rrurGrs rÚ__connzSMTPChannel.__conn#r—rcó@—tdtd¦«||_dS)NzISetting __conn attribute on SMTPChannel is deprecated, set 'conn' insteadrsrŸrxs rr zSMTPChannel.__conn(r™rcó<—tdtd¦«|jS)NzKAccess to __addr attribute on SMTPChannel is deprecated, use 'addr' insteadrs©rrurHrs rÚ__addrzSMTPChannel.__addr.r—rcó@—tdtd¦«||_dS)NzISetting __addr attribute on SMTPChannel is deprecated, set 'addr' insteadrsr£rxs rr¤zSMTPChannel.__addr3r™rcóz—tj |t|dz|jrdnd¦«¦«dS)Nr=úutf-8Úascii)rCrDraÚbytesrkrs rrazSMTPChannel.push:sQ€ÝÔ× Ò  ¥uØ �&‰L TÔ%:ÐG˜'˜'Àñ(Iô(Iñ Jô Jð Jð Jð JrcóZ—d}|j|jkr|j}n|j|jkr|j}|r |j|krdS|r|xjt |¦«z c_|jr*|j  t|d¦«¦«dS|j  |¦«dS)Nr§) rhrgr8ÚDATArIrlÚlenrKrqÚappendÚstr)rÚdataÚlimits rÚcollect_incoming_dataz!SMTPChannel.collect_incoming_data?s½€ØˆØ Œ?˜dœlÒ *Ð *ØÔ/ˆEˆEØ Œ_ ¤ Ò )Ð )ØÔ(ˆEØ ð (�T”^ eÒ+Ð+Ø ˆFØ ð (Ø ˆNŒN�c $™iœiÑ 'ˆNŒNØ Ô ð -Ø Ô × &Ò &¥s¨4°Ñ'9Ô'9Ñ :Ô :Ð :Ð :Ð :à Ô × &Ò & tÑ ,Ô ,Ð ,Ð ,Ð ,rcóØ—|j |j¦«}tdt |¦«t ¬¦«g|_|j|jk�r!|jdc}|_|s|  d¦«dS|j st|d¦«}|  d¦«}|dkr|  ¦«}d}n;|d|…  ¦«}||dzd… ¦«}|jr |j|n|j}||kr|  d¦«dSt%|d |zd¦«}|s|  d |z¦«dS||¦«dS|j|jkr|  d ¦«d|_dS|jr.|j|jkr|  d ¦«d|_dSg}| |j¦«D]H} | r/| d|jkr| | dd…¦«Œ3| | ¦«ŒI|j |¦«|_|j|j|j|jf} i} |j s|j|jd œ} |j j!| i| ¤Ž} | "¦«| s|  d¦«dS|  | ¦«dS)NzData:r#rz500 Error: bad syntaxr§rBr.z500 Error: line too longÚsmtp_z&500 Error: command "%s" not recognizedz451 Internal confusionz552 Error: Too much mail data)Ú mail_optionsÚ rcpt_optionsú250 OK)#rLÚjoinrqr%r_r`rhrgrlrarKr®ÚfindÚupperÚstriprTr4r7Úgetattrr«rIÚsplitrMrNr­rPrprZrirjr´rµrFÚprocess_messagern) rÚlineÚszÚiÚcommandÚargÚmax_szÚmethodr¯ÚtextÚargsÚkwargsÚstatuss rÚfound_terminatorzSMTPChannel.found_terminatorOs€ØÔ ×%Ò% dÔ&9Ñ:Ô:ˆÝ ˆg•t˜D‘z”z­ Ð4Ñ4Ô4Ð4Ø ˆÔØ Œ?˜dœlÒ *Ñ *Ø!%¤°Ð ˆB�”Øð Ø— ’ Ð1Ñ2Ô2Ð2Ø�ØÔ$ð *ݘ4 Ñ)Ô)�Ø— ’ ˜#‘”ˆAØ�1ŠuˆuØŸ*š*™,œ,�Ø��à˜r ˜rœ(Ÿ.š.Ñ*Ô*�ؘ1˜Q™3˜4˜4”j×&Ò&Ñ(Ô(�àÔ-ðK�dÔ.¨wÔ7Ð7Ø37Ô3Jð à�FŠ{ˆ{Ø— ’ Ð4Ñ5Ô5Ð5Ø�ݘT 7¨WÑ#4°dÑ;Ô;ˆFØð Ø— ’ ÐBÀWÑLÑMÔMÐMØ�Ø ˆF�3‰KŒKˆKØ ˆFàŒ $¤)Ò+Ð+Ø— ’ Ð2Ñ3Ô3Ð3Ø!"�”Ø�ØÔ#𠨬¸Ô9MÒ(MÐ(MØ— ’ Ð9Ñ:Ô:Ð:Ø!"�”Ø�ðˆDØŸ š  4¤=Ñ1Ô1ð &ð &�Øð&˜D œG t¤|Ò3Ð3Ø—K’K  Q R R¤Ñ)Ô)Ð)Ð)à—K’K Ñ%Ô%Ð%Ð%Ø!%¤×!3Ò!3°DÑ!9Ô!9ˆDÔ Ø”I˜tœ}¨d¬l¸DÔ]ÚEHLOz250 Syntax: EHLO hostnameÚHELOz250 Syntax: HELO hostnamerÏz 250 Syntax: MAIL FROM:
ÚRCPTz250 Syntax: RCPT TO:
r«z250 Syntax: DATAÚRSETz250 Syntax: RSETÚNOOPz250 Syntax: NOOPÚQUITz250 Syntax: QUITÚVRFYz250 Syntax: VRFY
zD501 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFYzD250 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY)r¹rarT)rrÂÚextendedÚlc_argrs rÚ smtp_HELPzSMTPChannel.smtp_HELPÖsÒ€Ø ñ -Ø0ˆHØ—Y’Y‘[”[ˆFؘÒÐØ— ’ Ð5Ñ6Ô6Ð6Ð6Ð6ؘ6Ò!Ð!Ø— ’ Ð5Ñ6Ô6Ð6Ð6Ð6ؘ6Ò!Ð!Ø8�ØÔ%ð$ؘ8‘O�CØ— ’ ˜#‘”���ؘ6Ò!Ð!Ø6�ØÔ%ð$ؘ8‘O�CØ— ’ ˜#‘”���ؘ6Ò!Ð!Ø— ’ Ð,Ñ-Ô-Ð-Ð-Ð-ؘ6Ò!Ð!Ø— ’ Ð,Ñ-Ô-Ð-Ð-Ð-ؘ6Ò!Ð!Ø— ’ Ð,Ñ-Ô-Ð-Ð-Ð-ؘ6Ò!Ð!Ø— ’ Ð,Ñ-Ô-Ð-Ð-Ð-ؘ6Ò!Ð!Ø— ’ Ð6Ñ7Ô7Ð7Ð7Ð7à— ’ ð5ñ6ô6ð6ð6ð6ð �IŠIð,ñ -ô -ð -ð -ð -rcóÊ—|rK| |¦«\}}|r| d¦«dS| d|z¦«dS| d¦«dS)NzB252 Cannot VRFY user, but will accept message and attempt deliveryz502 Could not VRFY %sz501 Syntax: VRFY
)rära)rrÂrârés rÚ smtp_VRFYzSMTPChannel.smtp_VRFYùs…€Ø ð 4Ø"Ÿmšm¨CÑ0Ô0‰OˆG�VØð 9Ø— ’ ð1ñ2ô2ð2ð2ð2ð— ’ Ð1°CÑ7Ñ8Ô8Ð8Ð8Ð8à �IŠIÐ2Ñ 3Ô 3Ð 3Ð 3Ð 3rcóV—|js| d¦«dStd|t¬¦«d}|jr|dz }|€| |¦«dS| d|¦«}| |¦«\}}|s| |¦«dS|js|r| |¦«dS|jr| d¦«dS| ¦«  ¦«|_ |  |j ¦«}|€| |¦«dS|j s1|  dd ¦«}|d vr| d ¦«dS|jr=|  d d ¦«}|durd|_n|d ur| d¦«dS|  dd¦«}|ra| ¦«s| |¦«dS|jr/t%|¦«|jkr| d¦«dSt'| ¦«¦«dkr| d¦«dS||_td|jt¬¦«| d¦«dS)Nú503 Error: send HELO firstz ===> MAILr#z 501 Syntax: MAIL FROM:
rïzFROM:z503 Error: nested MAIL commandÚBODYÚ7BIT)rÿÚ8BITMIMEz1501 Error: BODY can only be one of 7BIT, 8BITMIMEÚSMTPUTF8FTz&501 Error: SMTPUTF8 takes no argumentsÚSIZEz:552 Error: message size exceeds fixed maximum message sizerz:555 MAIL FROM parameters not recognized or not implementedzsender:r¶)rSrar%r`rTrÜrärir¹r¼r´rírKÚpoprJrkÚisdigitrIÚintr¬Úkeys)rrÂÚ syntaxerrrâréÚbodyÚsmtputf8Úsizes rÚ smtp_MAILzSMTPChannel.smtp_MAILsË€ØÔ!ð Ø �IŠIÐ2Ñ 3Ô 3Ð 3Ø ˆFÝ ˆk˜3¥[Ð1Ñ1Ô1Ð1Ø6ˆ Ø Ô ð 3Ø Ð2Ñ 2ˆIØ ˆ;Ø �IŠI�iÑ Ô Ð Ø ˆFØ×)Ò)¨'°3Ñ7Ô7ˆØŸ-š-¨Ñ,Ô,‰ˆ�Øð Ø �IŠI�iÑ Ô Ð Ø ˆFØÔ!ð  fð Ø �IŠI�iÑ Ô Ð Ø ˆFØ Œ=ð Ø �IŠIÐ6Ñ 7Ô 7Ð 7Ø ˆFØ"ŸLšL™NœN×0Ò0Ñ2Ô2ˆÔØ—’ Ô!2Ñ3Ô3ˆØ ˆ>Ø �IŠI�iÑ Ô Ð Ø ˆFØÔ ð Ø—:’:˜f fÑ-Ô-ˆDØÐ/Ð/Ð/Ø— ’ ÐMÑNÔNÐNØ�Ø Ô ð Ø—z’z *¨eÑ4Ô4ˆHؘ4ÐÐØ(,�Ô%Ð%Ø Ð&Ð&Ø— ’ ÐBÑCÔCÐCØ�Ø�zŠz˜& $Ñ'Ô'ˆØ ð Ø—<’<‘>”>ð Ø— ’ ˜)Ñ$Ô$Ð$Ø�ØÔ%ð ­#¨d©)¬)°dÔ6JÒ*JÐ*JØ— ’ ÐVÑWÔWÐWØ�Ý ˆv�{Š{‰}Œ}Ñ Ô  Ò !Ð !Ø �IŠIÐRÑ SÔ SÐ SØ ˆF؈Œ Ý ˆi˜œ­[Ð9Ñ9Ô9Ð9Ø � Š �(ÑÔÐÐÐrcó’—|js| d¦«dStd|t¬¦«|js| d¦«dSd}|jr|dz }|€| |¦«dS| d|¦«}| |¦«\}}|s| |¦«dS|js|r| |¦«dS| ¦«  ¦«|_ |  |j ¦«}|€| |¦«dSt|  ¦«¦«dkr| d ¦«dS|j |¦«td |jt¬¦«| d ¦«dS) Nrýz ===> RCPTr#z503 Error: need MAIL commandz501 Syntax: RCPT TO:
rïzTO:rz8555 RCPT TO parameters not recognized or not implementedzrecips:r¶)rSrar%r`rirTrÜrär¹r¼rµrír¬rrjr­)rrÂrrârés rÚ smtp_RCPTzSMTPChannel.smtp_RCPT:sÉ€ØÔ!ð Ø �IŠIÐ2Ñ 3Ô 3Ð 3Ø ˆFÝ ˆk˜3¥[Ð1Ñ1Ô1Ð1ØŒ}ð Ø �IŠIÐ4Ñ 5Ô 5Ð 5Ø ˆFØ4ˆ Ø Ô ð 3Ø Ð2Ñ 2ˆIØ ˆ;Ø �IŠI�iÑ Ô Ð Ø ˆFØ×)Ò)¨%°Ñ5Ô5ˆØŸ-š-¨Ñ,Ô,‰ˆ�Øð Ø �IŠI�iÑ Ô Ð Ø ˆFØÔ!ð  fð Ø �IŠI�iÑ Ô Ð Ø ˆFØ"ŸLšL™NœN×0Ò0Ñ2Ô2ˆÔØ—’ Ô!2Ñ3Ô3ˆØ ˆ>Ø �IŠI�iÑ Ô Ð Ø ˆFå ˆv�{Š{‰}Œ}Ñ Ô  Ò !Ð !Ø �IŠIÐPÑ QÔ QÐ QØ ˆFØ Œ ×Ò˜GÑ$Ô$Ð$Ý ˆi˜œ­KÐ8Ñ8Ô8Ð8Ø � Š �(ÑÔÐÐÐrcóŠ—|r| d¦«dS| ¦«| d¦«dS)Nz501 Syntax: RSETr¶)rarRrÌs rÚ smtp_RSETzSMTPChannel.smtp_RSET]sL€Ø ð Ø �IŠIÐ(Ñ )Ô )Ð )Ø ˆFØ ×ÒÑÔÐØ � Š �(ÑÔÐÐÐrcó—|js| d¦«dS|js| d¦«dS|r| d¦«dS|j|_| d¦«| d¦«dS)Nrýz503 Error: need RCPT commandz501 Syntax: DATAs . z#354 End data with .)rSrarjr«rhrmrÌs rÚ smtp_DATAzSMTPChannel.smtp_DATAds�€ØÔ!ð Ø �IŠIÐ2Ñ 3Ô 3Ð 3Ø ˆFØŒ|ð Ø �IŠIÐ4Ñ 5Ô 5Ð 5Ø ˆFØ ð Ø �IŠIÐ(Ñ )Ô )Ð )Ø ˆFØœ)ˆŒØ ×Ò˜LÑ)Ô)Ð)Ø � Š Ð7Ñ8Ô8Ð8Ð8Ð8rcó0—| d¦«dS)Nz502 EXPN not implementedrÔrÌs rÚ smtp_EXPNzSMTPChannel.smtp_EXPNss€Ø � Š Ð,Ñ-Ô-Ð-Ð-Ð-r),rrrrgr«r7Ú collectionsÚ defaultdictr4Úpropertyr8ÚDATA_SIZE_DEFAULTrErnrRÚ_SMTPChannel__serverÚsetterÚ_SMTPChannel__lineÚ_SMTPChannel__stateÚ_SMTPChannel__greetingÚ_SMTPChannel__mailfromÚ_SMTPChannel__rcpttosÚ_SMTPChannel__dataÚ_SMTPChannel__fqdnÚ_SMTPChannel__peerÚ_SMTPChannel__connÚ_SMTPChannel__addrrar±rÉrÍrÒrÕrØrÜrärírùrûr r rrrrrrrrzs€€€€€Ø€GØ €DàÐØ1˜+Ô1Ð;MÐ2PÐ2PÐ2PÑQÔQÐà ð+ð+ñ„Xð+ð "Ð!r) rrrrr9rrEr<r½rrrrrwsW€€€€€à€Mð"3¸Ø!&°Eð:ð:ð:ð:ð88ð8ð8ð"ð"ð"ð"ð"rrcó—eZdZd„Zd„ZdS)r cóP—d}| ¦«}|D]Œ}|rU|sSd|dz}t|t¦«s"t| d¦«¦«}t |¦«d}t|t¦«st|¦«}t |¦«Œ�dS)Nr.zX-Peer: rr§)Ú splitlinesÚ isinstancer®r_Úencoder%)rrZr¯Ú inheadersÚlinesr¾Ú peerheaders rÚ_print_message_contentz&DebuggingServer._print_message_contentÆs·€Øˆ Ø—’Ñ!Ô!ˆØð ð ˆDàð  ð Ø'¨$¨q¬'Ñ1� Ý! $­Ñ,Ô,ðBå!% j×&7Ò&7¸Ñ&@Ô&@Ñ!AÔ!A�JÝ�jÑ!Ô!Ð!Ø� ݘd¥CÑ(Ô(ð "å˜D‘z”z�Ý �$‰KŒKˆKˆKð ð rc ó&—td¦«|rZ| d¦«rtd|dz¦«| d¦«rtd|dz¦«| ||¦«td¦«dS)Nz%---------- MESSAGE FOLLOWS ----------r´zmail options: %srµzrcpt options: %s z%------------ END MESSAGE ------------)r%ÚgetrHr?s rr½zDebuggingServer.process_message×s¡€Ý Ð5Ñ6Ô6Ð6Ø ð EØ�zŠz˜.Ñ)Ô)ð CÝÐ(¨6°.Ô+AÑAÑBÔBÐBØ�zŠz˜.Ñ)Ô)ð EÝÐ*¨V°NÔ-CÑCÑDÔDÐDØ ×#Ò# D¨$Ñ/Ô/Ð/Ý Ð5Ñ6Ô6Ð6Ð6Ð6rN)rrrrHr½rrrr r Äs2€€€€€ðððð"7ð7ð7ð7ð7rr có*‡—eZdZˆfd„Zd„Zd„ZˆxZS)r có~•—d|vr|drtd¦«‚tt|¦«j|i|¤ŽdS)NrJz$PureProxy does not support SMTPUTF8.)r6Úsuperr rE)rrÆrÇr2s €rrEzPureProxy.__init__ãsPø€Ø  Ð &Ð &¨6Ð2CÔ+DÐ &ÝÐCÑDÔDÐ DØ'��i˜ÑÔÔ'¨Ð8°Ð8Ð8Ð8Ð8Ð8rcó—| d¦«}d}|D] }|sn|dz }Œ | |d|dz¦«t |¦«}| |||¦«}t d|t ¬¦«dS)Nr rr.z X-Peer: %szwe got some refusals:r#)r¼ÚinsertrOr·Ú_deliverr%r`) rrZrirjr¯rFrÀr¾Úrefuseds rr½zPureProxy.process_messageèsž€Ø— ’ ˜4Ñ Ô ˆà ˆØð ð ˆDØð Ø�Ø �‰FˆAˆAØ � Š �Q˜  t¨A¤wÑ.Ñ/Ô/Ð/Ý�|Š|˜EÑ"Ô"ˆØ—-’- ¨'°4Ñ8Ô8ˆå Ð% wµ[ÐAÑAÔAÐAÐAÐArcóP—ddl}i} | ¦«}| |jd|jd¦« | |||¦«}| ¦«n#| ¦«wxYwn—#|j$r'}tdt¬¦«|j }Yd}~nkd}~wt|j f$rT}td|j t¬¦«t|dd¦«}t|dd ¦«} |D] } || f|| <Œ Yd}~nd}~wwxYw|S) Nrr.zgot SMTPRecipientsRefusedr#ÚgotÚ smtp_codeéÿÿÿÿÚ smtp_errorÚignore)ÚsmtplibÚSMTPÚconnectr)ÚsendmailÚquitÚSMTPRecipientsRefusedr%r`Ú recipientsr[Ú SMTPExceptionr2r») rrirjr¯rXrQÚsÚeÚerrcodeÚerrmsgÚrs rrPzPureProxy._deliverösb€ØˆˆˆØˆð /Ø— ’ ‘”ˆAØ �IŠI�dÔ& qÔ)¨4Ô+;¸AÔ+>Ñ ?Ô ?Ð ?ð ØŸ*š* X¨w¸Ñ=Ô=�à—’‘”��ø�—’‘”��øøø�øØÔ,ð #ð #ð #Ý Ð-µKÐ @Ñ @Ô @Ð @Ø”lˆGˆGˆGˆGˆGˆGøøøøÝ˜Ô.Ð/ð /ð /ð /Ý �%˜œ­;Ð 7Ñ 7Ô 7Ð 7õ˜a ¨bÑ1Ô1ˆGݘQ  ¨hÑ7Ô7ˆFØð /ð /�Ø% vÐ.�˜‘ � ð /ð /ð /ð /ð /øøøøð /øøøðˆs=ˆABÁ A5Á BÁ5B  B D#ÂB;Â;D#ÃA DÄD#)rrrrEr½rPÚ __classcell__)r2s@rr r âsYø€€€€€ð9ð9ð9ð9ð9ð Bð Bð Bðððððððrr có—eZdZdZdZdZdZdS)ÚOptionsTr NF)rrrÚsetuidÚ classnameÚ size_limitrJrrrrgrgs"€€€€€Ø €FØ€IØ€JØ€O€O€OrrgcóŒ— tjtjdd…dgd¢¦«\}}n,#tj$r}t d|¦«Yd}~nd}~wwxYwt ¦«}|D]Ð\}}|dvrt d¦«Œ|dvr)t t¦«tjd¦«ŒF|dvrd|_ ŒR|d vr||_ Œ^|d vr tj a Œo|d vrd |_ Œ{|d vrQ t|¦«}||_Œ—#t d|ztj ¬¦«tjd¦«YŒÍxYwŒÑt!|¦«dkrd}d}nmt!|¦«dkr |d}d}nOt!|¦«dkr|d}|d}n+t ddt" |¦«z¦«| d¦«} | dkrt dd|z¦«|d| …|_ t|| dzd…¦«|_n##t,$rt dd|z¦«YnwxYw| d¦«} | dkrt dd|z¦«|d| …|_ t|| dzd…¦«|_n##t,$rt dd|z¦«YnwxYw|S)Nr.z nVhc:s:du)zclass=ÚnosetuidÚversionÚhelpzsize=Údebugr )z-hz--helpr)z-Vz --version)z-nz --nosetuidF)z-cz--class)z-dz--debug)z-uz --smtputf8T)z-sz--sizezInvalid size: r#zlocalhost:8025z localhost:25rsr zInvalid arguments: %sú:zBad local spec: %szBad local port: %szBad remote spec: %szBad remote port: %s)Úgetoptr(ÚargvÚerrorr,rgr%rbr*rhrir)r`rJrrjr¬Ú COMMASPACEr·r¸Ú localhostÚ localportr6Ú remotehostÚ remoteport) ÚoptsrÆraÚoptionsÚoptrÂÚint_sizeÚ localspecÚ remotespecrÀs rÚ parseargsrsN€ðÝ”]Ý ŒH�Q�R�RŒL˜+ð ð ð ñô‰ ˆˆdˆdøõ Œ<ðððÝ ˆa�‰ Œ ˆ ˆ ˆ ˆ ˆ ˆ øøøøðøøøõ‰iŒi€GØðð‰ˆˆSØ Ð"Ð "Ð "Ý �!‰HŒHˆHˆHØ Ð'Ð 'Ð 'Ý •+Ñ Ô Ð Ý ŒH�Q‰KŒKˆKˆKØ Ð(Ð (Ð (Ø"ˆGŒNˆNØ Ð%Ð %Ð %Ø #ˆGÔ Ð Ø Ð%Ð %Ð %Ýœ*ˆKˆKØ Ð(Ð (Ð (Ø&*ˆGÔ #Ð #Ø Ð$Ð $Ð $ð ݘs™8œ8�Ø%-�Ô"Ð"øð ÝÐ&¨Ñ,µ3´:Ð>Ñ>Ô>Ð>Ý”˜‘ ” � � � øøøð %õ ˆ4�y„y�1‚}€}Ø$ˆ Ø#ˆ ˆ Ý ˆT‰Œ�QŠˆØ˜”Gˆ Ø#ˆ ˆ Ý ˆT‰Œ�QŠˆØ˜”Gˆ ؘ!”Wˆ ˆ å ˆaÐ(­:¯?ª?¸4Ñ+@Ô+@Ñ@ÑAÔAÐAð �Š�sÑÔ€A؈1‚u€uÝ ˆaÐ%¨ Ñ1Ñ2Ô2Ð2Ø! " 1 "œ €GÔð3Ý  ¨!¨A©#¨$¨$¤Ñ0Ô0ˆÔÐøÝ ð3ð3ð3Ý ˆaÐ%¨ Ñ1Ñ2Ô2Ð2Ð2Ð2ð3øøøà�Š˜ÑÔ€A؈1‚u€uÝ ˆaÐ&¨Ñ3Ñ4Ô4Ð4Ø# B Q Bœ€GÔð5Ý  ¨A¨a©C¨D¨DÔ!1Ñ2Ô2ˆÔÐøÝ ð5ð5ð5Ý ˆaÐ&¨Ñ3Ñ4Ô4Ð4Ð4Ð4ð5øøøà €NsD‚-0°A¿AÁAÃ,DÄ4D9ÈH È IÈ?IÊJ!Ê!KËKÚ__main__r>r.)rJz7Cannot import module "pwd"; try running with -n option.r#Únobodyrsz3Cannot setuid "nobody"; try running with -n option.)r!)Ar&r(Úosr]rqr3rVrÚwarningsrrÚemail._header_value_parserrrÚ__all__Ú_DEPRECATION_MSGrr*rCrrÚprogramrbrr`rOrtrr,rDrr+rr r rgrrzriÚrfindÚlastdotÚ __import__r'ÚlocalsÚmodr€r»Úclass_rurvrwrxrjrJÚproxyrhÚpwdÚ ImportErrorr%r)r*Úgetpwnamr�ÚPermissionErrorÚloopÚKeyboardInterruptrrrúr•s#ðð+ð+ðN € € € Ø € € € Ø € € € Ø € € € Ø € € € Ø € € € ØÐÐÐØ&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØDÐDÐDÐDÐDÐDÐDÐDð ð ð €ð#Ðð € ˆHÐ&¨wÐ7Ñ7Ô7Ð7ð €€€Ø€€€ð Œ(�1Œ+€Ø-€ ðððððñôðð ˆg‰iŒi€ Ø €Ø € ØÐðððððz.ðz.ðz.ðz.ðz.�(Ô%ñz.ôz.ðz.ðzJ"ðJ"ðJ"ðJ"ðJ"�Ô$ñJ"ôJ"ðJ"ðZ7ð7ð7ð7ð7�jñ7ô7ð7ð<*ð*ð*ð*ð*� ñ*ô*ð*ðZððððñôðð?ð?ð?ðD ˆzÒÑØˆi‰kŒk€GàÔ!€IØ ˆiÐÐØ—/’/ #Ñ&Ô&ˆØˆj˜ 8 G 8Ô,¨g¨g©i¬i¸¸¹¼ÀBÀ4ÑHÔHˆØ˜g a™i˜j˜jÔ)ˆ ˆ àÐÐÐØ ˆW�S˜)Ñ $Ô $€FØ ˆF�GÔ% wÔ'8Ð9ØÔ&¨Ô(:Ð;ØÔ%°wÔ7Nð Pñ Pô P€Eð„~ð ð Ø ˆJˆJˆJˆJøØð ð ð Ø ˆEÐKÐRUÔR\Ð ]Ñ ]Ô ]Ð ]Ø ˆCŒH�Q‰KŒKˆKˆKˆKð øøøð�”˜hÑ'Ô'¨Ô*ˆð Ø ˆBŒI�fÑ Ô Ð Ð øØð ð ð Ø ˆEÐGÈcÌjÐ YÑ YÔ YÐ YØ ˆCŒH�Q‰KŒKˆKˆKˆKð øøøð ؈Œ ‰ŒˆˆˆøØ ð ð ð Ø ˆˆð øøøð9Ðs6Å<FÆ'F+Æ*F+ÇGÇ'HÇ?HÈHÈHÈH