o a@sLdZddlZddlZddlmZddlmZddlmZ Gddde ZdS)z-Email backend that writes messages to a file.N)settings)ImproperlyConfigured) EmailBackendcsBeZdZddfdd ZddZddZd d Zd d ZZS) rN) file_pathc sd|_|dur ||_nttdd|_tj|j|_z tj|jddWn"ty2t d|jt yF}z t d|j|fd}~wwt |jtj sVt d|jd|d<t j|i|dS)NEMAIL_FILE_PATHT)exist_okzAPath for saving email messages exists, but is not a directory: %sz=Could not create directory for saving email messages: %s (%s)z Could not write to directory: %sstream)_fnamergetattrrospathabspathmakedirsFileExistsErrorrOSErroraccessW_OKsuper__init__)selfrargskwargserr __class__E/usr/lib/python3/dist-packages/django/core/mail/backends/filebased.pyrs*  zEmailBackend.__init__cCs4|j|d|jd|jddS)N sO-------------------------------------------------------------------------------)rwritemessageas_bytes)rrrrr write_message(s zEmailBackend.write_messagecCsF|jdur tjd}d|tt|f}tj|j ||_|jS)zReturn a unique file name.Nz %Y%m%d-%H%M%Sz %s-%s.log) r datetimenowstrftimeabsidr r joinr)r timestampfnamerrr _get_filename-s zEmailBackend._get_filenamecCs"|jdurt|d|_dSdS)NabTF)ropenr*rrrrr,5s zEmailBackend.opencCs6z|jdur|jWd|_dSWd|_dSd|_w)N)rcloser-rrrr.;s    zEmailBackend.close) __name__ __module__ __qualname__rr!r*r,r. __classcell__rrrrr s r) __doc__r"r django.confrdjango.core.exceptionsr!django.core.mail.backends.consolerConsoleEmailBackendrrrrs