a 5êdgÄ ã@s„ddlZddlmZddlmZddlZddlZe d¡Ze  d¡dd„Z Gdd „d ej ƒZ Gd d „d ej ƒZ ed kr€e ¡dS) éN)Úsupport)Ú socket_helperÚsslZnetworkc Cs†t ¡}t ||f¡\}z|j||d}Wn tyJYWdƒdS0| ¡WdƒdSWdƒn1sx0YdS)N)Zserver_hostnameFT)rÚcreate_default_contextÚsocketÚcreate_connectionZ wrap_socketÚ ExceptionÚclose)ÚhostÚportÚcontextÚsock©rú-/usr/local/lib/python3.9/test/test_smtpnet.pyÚcheck_ssl_verifiy s rc@seZdZdZdZdd„ZdS)ÚSmtpTestúsmtp.gmail.comiKc CsÐt td¡t tj¡}d|_tj|_t   |j ¡Št  |j |j ¡}z|j|dWnHtjyœ}z.|jddkr†t |jd¡n‚WYd}~n d}~00| ¡| ¡Wdƒn1sÂ0YdS)NÚSMTP_SSLF©r rz+STARTTLS extension not supported by server.)rÚ get_attributeÚsmtplibrÚ SSLContextÚPROTOCOL_TLS_CLIENTÚcheck_hostnameÚ CERT_NONEÚ verify_moderÚtransient_internetÚ testServerZSMTPÚ remotePortZstarttlsZ SMTPExceptionÚargsÚunittestÚskipÚehloÚquit)Úselfr ÚserverÚerrrÚtest_connect_starttlss  zSmtpTest.test_connect_starttlsN)Ú__name__Ú __module__Ú __qualname__rrr'rrrrrsrc@s4eZdZdZdZdd„Zdd„Zdd„Zd d „Zd S) Ú SmtpSSLTestriÑcCs\t td¡t |j¡0t |j|j¡}| ¡|  ¡Wdƒn1sN0YdS©Nr) rrrrrrrrr"r#©r$r%rrrÚ test_connect1s  zSmtpSSLTest.test_connectcCsXt td¡t |j¡,t |j¡}| ¡| ¡Wdƒn1sJ0YdSr,) rrrrrrrr"r#r-rrrÚtest_connect_default_port8s   z%SmtpSSLTest.test_connect_default_portcCszt tj¡}d|_tj|_t td¡t   |j ¡4tj |j |j |d}| ¡| ¡Wdƒn1sl0YdS)NFrr)rrrrrrrrrrrrrrr"r#)r$r r%rrrÚtest_connect_using_sslcontext?s  z)SmtpSSLTest.test_connect_using_sslcontextcCs°t |j¡,t|j|jƒ}|s*| d¡Wdƒn1s>0Yt td¡t   ¡}t |j¡4tj |j|j|d}|  ¡|  ¡Wdƒn1s¢0YdS)Nz!SSL certificate can't be verifiedrr)rrrrrZskipTestrrrrrrr"r#)r$Z can_verifyr r%rrrÚ&test_connect_using_sslcontext_verifiedIs( z2SmtpSSLTest.test_connect_using_sslcontext_verifiedN) r(r)r*rrr.r/r0r1rrrrr+-s  r+Ú__main__)r ÚtestrZ test.supportrrrÚ import_modulerZrequiresrZTestCaserr+r(ÚmainrrrrÚs     *