From 0966d56aa331b310a530b11db5d7ca792b98d08b Mon Sep 17 00:00:00 2001 From: trttung1610 Date: Mon, 3 Jul 2023 15:31:15 +0700 Subject: [PATCH] first commit --- db.sqlite3 | Bin 0 -> 131072 bytes email.xlsx | Bin 0 -> 9018 bytes email_IK0jNG7.xlsx | Bin 0 -> 9018 bytes email_hRpByWL.xlsx | Bin 0 -> 9018 bytes email_sender/AIConsultantBlackSmall.png | Bin 0 -> 7370 bytes email_sender/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 180 bytes .../__pycache__/admin.cpython-310.pyc | Bin 0 -> 221 bytes email_sender/__pycache__/apps.cpython-310.pyc | Bin 0 -> 470 bytes .../__pycache__/models.cpython-310.pyc | Bin 0 -> 218 bytes .../__pycache__/script.cpython-310.pyc | Bin 0 -> 3736 bytes .../__pycache__/views.cpython-310.pyc | Bin 0 -> 840 bytes email_sender/admin.py | 3 + email_sender/apps.py | 6 + email_sender/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 191 bytes email_sender/models.py | 3 + email_sender/script.py | 125 +++++++++++++++++ email_sender/tests.py | 3 + email_sender/views.py | 23 ++++ email_vT607lc.xlsx | Bin 0 -> 9018 bytes email_webapp/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 180 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 2390 bytes email_webapp/__pycache__/urls.cpython-310.pyc | Bin 0 -> 1073 bytes email_webapp/__pycache__/wsgi.cpython-310.pyc | Bin 0 -> 593 bytes email_webapp/asgi.py | 16 +++ email_webapp/settings.py | 127 ++++++++++++++++++ email_webapp/urls.py | 23 ++++ email_webapp/wsgi.py | 16 +++ email_yDalC3v.xlsx | Bin 0 -> 9018 bytes manage.py | 22 +++ requirements.txt | 28 ++++ static/css/styles.css | 56 ++++++++ templates/result.html | 19 +++ templates/send_email.html | 25 ++++ 36 files changed, 495 insertions(+) create mode 100644 db.sqlite3 create mode 100644 email.xlsx create mode 100644 email_IK0jNG7.xlsx create mode 100644 email_hRpByWL.xlsx create mode 100644 email_sender/AIConsultantBlackSmall.png create mode 100644 email_sender/__init__.py create mode 100644 email_sender/__pycache__/__init__.cpython-310.pyc create mode 100644 email_sender/__pycache__/admin.cpython-310.pyc create mode 100644 email_sender/__pycache__/apps.cpython-310.pyc create mode 100644 email_sender/__pycache__/models.cpython-310.pyc create mode 100644 email_sender/__pycache__/script.cpython-310.pyc create mode 100644 email_sender/__pycache__/views.cpython-310.pyc create mode 100644 email_sender/admin.py create mode 100644 email_sender/apps.py create mode 100644 email_sender/migrations/__init__.py create mode 100644 email_sender/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 email_sender/models.py create mode 100644 email_sender/script.py create mode 100644 email_sender/tests.py create mode 100644 email_sender/views.py create mode 100644 email_vT607lc.xlsx create mode 100644 email_webapp/__init__.py create mode 100644 email_webapp/__pycache__/__init__.cpython-310.pyc create mode 100644 email_webapp/__pycache__/settings.cpython-310.pyc create mode 100644 email_webapp/__pycache__/urls.cpython-310.pyc create mode 100644 email_webapp/__pycache__/wsgi.cpython-310.pyc create mode 100644 email_webapp/asgi.py create mode 100644 email_webapp/settings.py create mode 100644 email_webapp/urls.py create mode 100644 email_webapp/wsgi.py create mode 100644 email_yDalC3v.xlsx create mode 100644 manage.py create mode 100644 requirements.txt create mode 100644 static/css/styles.css create mode 100644 templates/result.html create mode 100644 templates/send_email.html diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..bad033171472cc6e24b24b0eb6e2717284379516 GIT binary patch literal 131072 zcmeI5Yit`=cE>p)MT(Nh(Zlk%n>ZTLQDUyFh;NEXw;RP~Y&EtV%W@L|4W>hKB-7zT zCMiDFOzZttpYlAn_0cdh7JtZWB=Lu#lVjf>duHrUf*%CF7yJ$X z*M_%!zv%sF=;NWw!sk8T=;vtA{q0Xr1*A6@g?6)CD`|Js-PUzwx2ZLh?M8ifr`cIA zmpYpYt>jY4bgURFD!aAvO}qK@+4cO&Mqa+QwtD4SUS3^0mw#Q3*sTt58j&xrISWPP z(-AJLT#B5LBU~QoiA3AaPX?szoX}Q{2s%f1v_`euY?kY_redtKAeK|bbTOCExH5*p2uN>`_)GhV?|35Jg?J)XENtc6bx#hY+u`gW$=w2^ z_J%kjwY@oE@6EH*h*zHTB^XS#;_Az>clvz^z&lUZCJDRV=F*1uZ9BB-34J! zG^)fX;y6LEUeao6Ra0VdwUErFRiieHQsMs9U>FVPdf-T?2D;)R(Y@El1JcThaPNhd zTBvlcQ-1aHg(0G8^ey%yAw7tVm6tB&&HahpkYS~cL@rZ>ZfgyB?ed1acJ1Ot`PKE+ zODpS}@+-s4O?_wnoTCvsH95Q+ECxGAbT2j*kQNt(d($?w{0cJx?QDuq}f^F-BVU%y~a1%2hySF?5NG=?RtY+MZ6qM&a>Bi=QNNwGWL#aH3&XKD=u-0zqeC@= zj+Y1Cn2EX(6nlVr7=288!XJ?4=7jc}HlUn2k1Ws++@WAu+u*XZJx7xPzjS_X-)7Mv z-f0(neT1H(+5eusr-uX5!h-Pj&lvF-6nRj_rr#wpam4_5QM{-Q3k`Ma{P9wZvyTc$!^MX@B#h5sS^bK#dlABVmix*bZ5e>ndB_)m;aj(vUX9WufX2!H?xfB*=9 z00@8p2!McvKyqr>b8>#AsddI_VzF3UDc8!avRX;R63N9_b}^QeW7+59>E~0i=Te#6 zaw2tMa@aHT+6sH`Ci{emjCV>7)|aTgHAe$VoPxN+(k1!{p?e z?j)8o2gGxI12{@2vbjY19;DO(kFTPa?z zmnkpc>MFY&PsLVz`O9MJBbJPR6|CV!r31e}_O-n@r_W@$AwN zF{Ki`L)fPWVFi-$%yK3x5W0Cgy8X`-%Vcutkoa33zj(_d{-^j&@yp^Z@pIy@h<7Yq z8a6-x1V8`;KmY_l00ck)1V8`;KmY^|MPSM1O_t4} z(@b}^dYKi;>rDzSb29wXL*B&^{Q%Efu$;w=;9crk8#5KAM#-^X{G3Ppj`-K&KZ#!z zf1Nh)0|Fob0w4eaAOHd&00JNY0w4eaAn>pV9P^!gLg-E$(*N~8>6O2m*f%5bEuKE`PWxu&_+~F*P#c=`NhgCmCD5G^!RG&;82>4c_%Grgh@TY; z;`8Eo_+P_+6#ink5nc;F7oH0JSLkm;zZZHZv=KTr{{8W9j{olXJt}}75C8!X009sH z0T2KI5C8!Xun~xy81@MBi~d_>?Y5%7)SOjoGTWB*?PnyiiN^i({k%rM+`?ql+0(N- z-m#5ZzVOy4K7N$5+{WE_8C zSeIur*CkpC&^I8gfUeV4K-X$65T)-wgoX4l6Ku0)qRpmH(gz;G?6W?uoW1t-B(n{f zKHi|neY(`{aa|*~pf59+g|4k@p^IXhpP)}Jgp>0=CZ>CssbK3*(PtFGT-3|Y&R;Wo zr{`M{`Z9uQ+pC|yXQ2z|*wCjB%tlwxv(Y8+?I-Ee28z=vz;!}u%vGT$Wj++w$vr|EF<($KyZGE z2{fBAc|998{(mAo>k+?8qyK+SIe=dk-w~_gYvOq^CC-Txq7eRW_*>z>34ba4YvFgo zweU}d&xaFK06!oA0w4eaAOHd&00JNY0w4eaM~T3cPnZ`h$(s|$d_q*P53rNXHQU! zNIqdna3&)Ho&CB)BXi*ARBZ`{;VED6S;3M`@E!977X(}Cz{_{)KD)2~LleH>JWT*F z5&~@epML2-en0>OKmY_l00ck)1V8`;KmY_l00fRO0XF`xzyAl0aF_@U1V8`;KmY_l z00ck)1V8`;KmY_DYXTVmf2^w?!Giz@fB*=900@8p2!H?xfB*j z009sH0T2KI5C8!X009tqtO=Or|MS(y8U}&~0T2KI5C8!X009sH0T2KI5CDNAN&w^k zN3>!Q76^a<2!H?xfB*=900@8p2!H?xmOKmY_l00ck)1V8`;KmY_l00j0YFzgis{|Ua7`0_Yk&amb1F}|GU z%PGE`WJ})!Uy6Jg=F1RUddK;4j4wy|GRT%gBYYX)OFv%@`@BKH#};0;81j09L5%Ti2D{rq)ol8};3tW@o)zQZi~hp_P^kc7tPQ z*YhhId3km1T>f=AVn6ICACWJwIn5&S=?Fh-xfF@EKRp$Y-XuxQ{UvdQ3TexwlId76 zR#bLt<(qZ|)4ITGYpYkT9jw#c>A|Yc$dPVQis1RlfV7VbUU0KB)MCF)ZP$Bq_#IF?424&t|eF{RxBkG=|aqCISxV-{o9YjwsX<2+T79%HoECeL754vtX$jlS#2&YiYHX(z?5&F%gNaR5qifI@hdWC%V*$aa8H&#iZM? zX6?sTfMi|`1#l7Tjlp2m#6{fe{8+m&F5D~f7Ns}F$Xf3=jhlo z!oNwgv%qJL@w0p74uQHx29G#!+$bnxR*QkZaT|Wxk0DtZ`l>H zuZ31s%N65H*|c#cD$j(r)U7S2NIIexTjg7%(ypIHtlX%VYZ@VPgddHM`lbA=;Nf?u z=FLi(tf`{No*uc_n*Pic@2!sQt&IevTu!)`HR{)Kzv1SNy+N0ncNiV28Fak3UR#c< zgxe0*n2Ea4OVW+Y<8C$!(R0W}~7`hhzXENdHFcDCneGT@ia z&+XeRI>bBeg0GKI96|OBzt^6a4m@g4?vK;M*xu{o0cmALxc7q5p!i*cFO2rt>|NBI zmm$-UkV}Jeb#bT$$UO~qH8In{uA~2#YxUJ3zqGI*Y;v%Af7#S-?rOE7X4~{y5ZVr& zX4l{uDj98W3IS1V8`;KmY_l00ck)1V8`;jy8di_q=D?^FJQ(MtCRm z$K(Go`r+u027i0xTO(8ck7yo1b?6Vho8CVi`dQ(p1^3ty3p|D@ozYLLAi7;*_{`do2Fk{f=&ov?mt=JQ-i*po|o} zvDO`>HV^Wd#}w{w0Lz+Oi>J*TJEKcc?=N_!t}HMH{v|)ZNRnsnKR-W9B@=^;^}L;0 zj?JNRkcS=0qXATXbnJeH@!Uw08$MdNPo0p7ZImvNPCe{l zIy$M__@X5Qnt~B|08=o+*8YdLdShJRflR@e3rKetggw!i6|>I?iuIDlszZsz)j~3x zR*eZUMk&88+GQq{VdT*6?t0+KBvdI~50U8Jyc}Qy1NQ`@+b~XTqd2U~HFqF}@u99A z`%D*SA7mb<)VoP@A^ofePaEjPYz(-^Onnwnv0gov;eu%U!fZgQCx!M~=G&uLh(hBD zN<}Sb6{SjbUs1A|LMd5F7I?+GDEGNmzKh}ho-Magvmi#Mrzt}5aanXrU41GbC6mHl z&U{NXmvqr^(pvQ{7Kf^SLto!o>8N%;9BogWG>_QoveZ(wTw_xwdUGX<=}by1s2RJ# zlX_UzrAkAE1Y-(Cj z_tRgZtwbdH_D?^-CkcIK$=nipQtgVKa%}@W^FuX&df|pvZ1EWiod>MWO;O+7&~|7L zwL3v3VY^=0)RB5k*{Z195xH4aD;1ibB=6Rmr9xy_ZXME*UkK*3?qmGy~fn_m2!5hTZ2N0qA8&`t2E-avNL`_Lc_K zZV6tAr_@X#lS~*78Qix$oD+IDF3%gT_PzddpR?Uhpme=iJW=G+#{$w7>Mhf@!1;?w z)0qC7%cj%0bSh=Eq>jb$el^t3fn9IMjV00ck)1V8`;KmY_l00ck)1VG>sB7pb*N2oF&1q46<1V8`; zKmY_l00ck)1V8`;9ufh(|34(Ka0>z;00JNY0w4eaAOHd&00JNY0*?>@y#GH!l>sRr z00JNY0w4eaAOHd&00JNY0wC~^2!zP5UwqFaep~!U@vp?Mi0{(|en0>OKmY_l00ck) z1V8`;KmY_l00bTqfoZ?bbMguOFR?ZCf1eokdFD^)f0?6ocSmcQ*2jH5&&&+_GXd;R z8ic&GC9y63+x@48XmgHj8h?jiQt)}Cll;$^(4UOaYOTgy_Wtjgct|0^EeL=B2!H?x zfB*=900@8p2!H?xfWRX`z%>6~d?W-x1PFit2!H?xfB*=900@8p2!H?xfWQMMV0!<5 g;J)Dy1V8`;KmY_l00ck)1V8`;KmY_l;L#xPf1byp3IG5A literal 0 HcmV?d00001 diff --git a/email.xlsx b/email.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5780da88059a8be1dde5002acce0a8ded453a8e6 GIT binary patch literal 9018 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

nnNw;zj-1OgDCn*}JWy;}&37^>z?+ zRRaUoix)3mI~R`;e{%HbQQmDSCj_^LB~XgezMG=<4i0)|W-$8s!qZv=xdQvnKR~mn zyL57SV>lp6(xK~1!MhWe4ZQY&Qi*=>;FPSzLU$ey=;Z|>kQ9MkT~{jC`y4#CrZOMa z(9oOJ_;Z6Uu~2a?KVMXC^Gi@+lLEP!_#}7Z*{wgr&$?x@HO*k|y(|)V7Jz?ozGA^Wiv*m>eERfh zHPBzi=%BOgXRErjlhF}?h%12}HrwhP7`R(mDW{o;G-zcvMt=DCQAt}{J67X-EZjl` zXjDysm`=YT(5cVrH*%5%pn`%zY*lWX#uZ@o@i`nPdT(3fFa1if2I-ZH2#6L zVeE7tnNdeZMiy6Bl>jYPZ;sM-&MdC1C;|Zqs7p^zuXTg`kg07-PDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o11}*(xTqIJKxa zrX(XVFC!*AzbHEg`kg07-PDNaE8F^Gc(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB%MZvsFxJacWUmS5{QBb;N}#k=B1<-#el8VE2zB1VUwGmQks)$#|X5j J7-Xpc0{}E~I|~2+ literal 0 HcmV?d00001 diff --git a/email_sender/__pycache__/apps.cpython-310.pyc b/email_sender/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e454301262247c27082169d412965c27e598308a GIT binary patch literal 470 zcmZ`#y-ve05VqqKh5ihnu1Ks|@&E{-mI~OqLXjzg)5_J|;6%bBqQEP(@0bP)e={c)(r>FiBrn z;(;HNaPW;?B&2qK-ZYE4%8LBfA-h5`nW35~8c7lg1gB}jz)O5!$l}|Bi&7LSmK8|d z(>x!+ov89Uf>l)3AeD*Ei+tX0>dQhZuw&^axamfg;lKu*SE7`h+ac#T(JB{@Ie%z{ z+ExxhW};OaE|7<39g**9pG3Q}bmk{soTS%AYLjl(qFSdnwZ2dL=S0(_k8 zo2A%lqUK36q<6P9duRgU(|~r^GGunN{i^HLp4-E9|83MqBgAZQ+JEiLUDY_kF`2So DCz5*U literal 0 HcmV?d00001 diff --git a/email_sender/__pycache__/models.cpython-310.pyc b/email_sender/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e589bdaae1b84fef28733246a972a4ff22951a94 GIT binary patch literal 218 zcmd1j<>g`kg07-PDK(44TX@fuanW zjJMcw^HWlDiv2X1ZgHk$CFZ5)>!lmS5{QBb;N}#k=B1<-#XzjoE2zB1VFP5B=A_y&0&OY=*($&Q E0H1w2PXGV_ literal 0 HcmV?d00001 diff --git a/email_sender/__pycache__/script.cpython-310.pyc b/email_sender/__pycache__/script.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aad6d24b7718e7aa1f3c7970b96ba80c91959798 GIT binary patch literal 3736 zcmbssO^@5gb%r7(iu%}f;My>f2JE^mDxlJ?w~gCuWG9Ye1B=#1igjRw*g~K-kZm; zRx=2+KmGa-?6WOG{)UU?roiGoc;jQ}7-7^SRz6Zo$<_s{0HflmzGi6@VFj<~m#k7Y zS3TV?Tjgx7d4^xHDljjy(r<`WWjZUvSYz~vG>qrKfjn-|wD#!m(St`rPr8vUBy8xo z@r0k@yo~ch-|ll*7`;&VwzL@&j)tGlS`EfBy!YXa{|=ob6Pl<~I@S{H1mz~bRT%9l zH^`(gCF7!0li~#(m-=L^OKnnQ3M)*N&p#ZOlk%iAC6tVGnCS^g=v1NPDG9ErL~1AH z^LHsgK_``ItoWr;Bp(A*0S+oW7X?a=$SILV0y;DOcghFkmv0^`V`E&Am81;xDv6R5 zE;R8p(I?fUGNqKrT4E%n*9j|MB_LH*)+bx6gpgl7e7ZzA&~K4AJcWIHK1L~wL}!&R z6|iUZv7n&&s2=+=YW02F^;%BoyFY^?O*Jk=C`RA9HK;o>Sq{Ud; zau}y2pT{xS`Z?wMW*LIpti#V7 z?pdnqg-%+Oq36ajEqFWtIv}9uc2o7}(UT8TJ!2ugIMuwc?*`U&++G#*0ZN~ic`)?3 zuq988msea>;qE7MlCf2lp|s})5a@_tOfCQ;rEXeZ zMYr@wgna=<{38+H1>AprbpPP^BfyW3<-iUG$4^7?>^K(&)H*)pT^#a_moIX?j$=o- zk!(fhX=P!b7y~~30dxkvMs=#vx}sBsZqqug((SJm^=e_88gyH!QswJ6{$bR`_W^k& zzN)aH!<)s|UtuE21sQ9SGMYeCUC=~hN}GUZYpeic0Y()@b)sODOqDT2LsIyHFg+;$ttU1>?PWylo%KdYq9WPITjF4>Pd;! zFBHUvb$LoA2HS!>P#GBsnN$)AGFGM#r9f-@2qIQiPip7EJfheYjNZm;k4Lq8hvxk- zh#@W6=vNO#=%>n)FfAR;e1;k$z1Ou&)WNJ&?Y4cQ%DM$fp@3mggQ{tZ}a! zvUBs(3>%m8)&oCm_H5tv&JWCc!nM60nz0?kP4E=A_s(Yg*d6f$^VW}}vvmZ|4R~|F z-TpuVO6&GIhHnc9z5{b_9TY*nb%XvIY`h}J%A%EdY!l4>#DBxpCy#kl4CV8a#VBySS+)qr$gL2@`&ZUgCv%tawU&qYz$0f83b+CVT^b6p+e~H8{aJ#g%kw4^|4P-~Z zU&*jJCvl111{SX0H)G-4*>PNUfJf4Cv6|j7ZBO3W`8jOt%uRsMCC=>ywf649aG=?X zD{jF`t)g(_|J zFUq_6pVh-ERBiaY@vm*I4s~3e7PD9RclI?{F4M0V*#Wa-QAe^jpi8f2DztnkkX!!z zZ!0r%y0rwt%$ga|+Fshtd?q)2CEp%OsQ9x3%Id|8`I0(V-3rtx)!Tl^hEVz7KSlf+ PbUMk@nkk|es@MMmF_)kb literal 0 HcmV?d00001 diff --git a/email_sender/__pycache__/views.cpython-310.pyc b/email_sender/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..811f2cbfda2b947c17a87df53fe5d43e0ba2cf81 GIT binary patch literal 840 zcmZ`%%WB*(6qV%XcxK2f(n3CAHm2*+mO^NuP}0Jr6pX<*mNNFl9=lhXOgea0lU;uz z>8`)hPtdlj{6bf~vRw#;%INCcqlfP~Qazmp1lv#e&c9iN{4&Yo#xQw}T|UFW38y8g zXhf;OtYnoHS%@uemv-eu4q}J9w0e6u()h>uN7l7!9i_3IVszj<9(xrHy z{fe=~6^W?QqLi88{_v7w0|YwX|ie)!MChaQ43PTf%)lYW;#9tOe=v;J{GX_)Oa$ zKP=Am#MCXIuUsDuS(8e+t$}M#ZZ1|LQ+nD-OR{>c#9HYi5LwX_2xW3vlwucj^WjY? zZ+2r45-kdIRh7m%lkB>q``>gE^O1Hdq4Ju8u}51=p|tb%-TOBSz?&r6mg%+7c9W_c z93;TpCGPS-eAx)8z%!(8g7Fy4Lx3>`Ju(#~W@B{xPn{hL6I}I!z%dTL&rhGnpQHd8 zt2|xj@#h+@;$CdpH1Sqkn4u^BpY*=P*M->1u=&~>*{e+qX#~ip7y>#OK15c)X4Z@a z49wKo+>2&>m9Cd{DDxUrwo$TEtxpCzt3iZDoeYQf*L&s442nkeKAE#RZI8keaUs$qWs7nkJX literal 0 HcmV?d00001 diff --git a/email_sender/admin.py b/email_sender/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/email_sender/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/email_sender/apps.py b/email_sender/apps.py new file mode 100644 index 0000000..b3b5097 --- /dev/null +++ b/email_sender/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class EmailSenderConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'email_sender' diff --git a/email_sender/migrations/__init__.py b/email_sender/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/email_sender/migrations/__pycache__/__init__.cpython-310.pyc b/email_sender/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..569d0a87978fa33e1860201d6cd2b86236875ce2 GIT binary patch literal 191 zcmd1j<>g`kg07-PDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o11$*(xTqIJKxa zrX(XVFC!*AzbHE
") + html_content = f""" + + + + + +

+ + + """ + + # Attach the logo image + logo_path = "./email_sender/AIConsultantBlackSmall.png" + with open(logo_path, "rb") as logo_file: + logo_image = MIMEImage(logo_file.read()) + logo_image.add_header("Content-ID", "") + message.attach(logo_image) + + message.attach(MIMEText(html_content, "html")) + email_message = message.as_string().encode("utf-8") + try: + server.sendmail(sender_email, receiver_email, email_message) + return True + except smtplib.SMTPException: + return False diff --git a/email_sender/tests.py b/email_sender/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/email_sender/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/email_sender/views.py b/email_sender/views.py new file mode 100644 index 0000000..cdf8dd0 --- /dev/null +++ b/email_sender/views.py @@ -0,0 +1,23 @@ +from django.shortcuts import render +from django.core.files.storage import default_storage +from .script import send_emails + +def send_email_view(request): + if request.method == 'POST': + sender_email = request.POST.get('sender_email') + sender_password = request.POST.get('sender_password') + subject = request.POST.get('subject') + email_content = request.POST.get('email_content') + recipients_file = request.FILES['recipients_file'] + + # Save the uploaded file + file_path = default_storage.save('email.xlsx', recipients_file) + + recipients_file_path = default_storage.path(file_path) + + # Send the emails + result = send_emails(sender_email, sender_password, subject, email_content, recipients_file_path) + + return render(request, 'result.html', {'result': result}) + + return render(request, 'send_email.html') diff --git a/email_vT607lc.xlsx b/email_vT607lc.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5780da88059a8be1dde5002acce0a8ded453a8e6 GIT binary patch literal 9018 zcmeHtgAyOZU>SAS@-NAkrbRbcb{|ETIT0l2Qw( z@Lj$4`FSt*{{DjJnb&J)W@qM{na^j=`^5WG-lg|JPC58fT|^NOWI| z7JgjlK&Orgtq9NC{vFm1N@|$9p}~GGIjs~QwW(>mbr#^cTSJeQpxk?Dm2w)}TNDpN zKIAO*>yoVXHQ|>U7K;uby550wS4r*b)UYqn;a*3;lK{UC z_Jp`&&5LH?TehZLMlYm7nIKaO08NKDI7J1&^LSvd@65Xf2yx zJWI3$Q87DlzANZ|A*UfK!T|{?8W?Q6->I={K^Nd$IElT1A%Av7eoC^{eAFpJJlM&^ z5*W4nZeUBye`jLTC~WU*+Ey_CB^Cg1b%hSl{2MImba?L^qijtLg*rSGEKS|596flr zf3E)r$Nyps{$=RpFm;U{Ui`>?rSDM#$k~-dVi{F$X{8n>?Vu3lWum(Hd=}c34mLVs zZJIE2#o)G}??Z?c@%S$TOsDID<#D9sVt4AjDxdUI=FU6Vfw3FHSsvN9?ea%0=h^FiHuOgK6Qgt^Rr5{S((SX6_Hg9 zBDr6Z$FqXx(+al;B%?*ucBV3J4S1N_ELH{#I5M4_)95_56}77}f8qXs+1J$4vGYhS ztAp%E02e5GK#N(B^o)O8v7a^fB-jux_;onPw^!t5Pual1AS8~Vcoh|){s|Hh%%#xp zD1Z#0AVh?k86QU;Zx?q5a~BtfpK+^PX9a}dC2xNT_pSpWWMoAy^P6;Y#muh z${(Z3Nh(%rY#8nn-PUyqXju?S-;wu8zRmU;)34|0qiwQpEH67e#y%xi4}cfwtn)Y_w3Ae=a_FQG8RgqRYheg5bs?t8MKh8>gmh9$$A5jXOT_&SiZ7s zIy+U{WgzzEfm#7aNoYy4t7ie#D0u8S5N{sYI>7~`Y?O|kap2tm4?RvB0PFIb(Gb7I zwGU|@^DQuf^9K?PN<`MUJ*V}00 zL*Vuma*3@XuRPP216tdJHZjHQUdP$$1QrxjXoo(MuA{bEuHx*Ics?X*#3iL|uS;Ov z3V6fdB>`F4EyzaRQp-JUi7->q?1|K(N?f{gf*dOCqyI=M2PIr+pw`15BUHla4oxZ~ zk(mEBvte5pOGT7FSRIMOcDIQ6Wp;N)77LMg$K=cX!^aZFKZBH>e8uO}cp2A@^nl1-hN*k(=;UJl;sySRHdCTxC9wmGqs~z* zgN>42eP;Y%$jWNxBHf81XzDh`5A`Wp{EJI2jQno)RIv47Kd#YdDs0U$p?S(?TZ!H{ zYjLB=#;^1|{Y#Xx+bwly2otaF#V2pzPm65bhUD*l;`55eZacU*2b+j#_*%OYKkna$ zG-uXnKutF~pPz*qV~iSE^9A*>+fl{8ci%aHCVdOnS`i90bV@2t4YCyjhMqb)-YNcIrzBU@a)ky(P~bQ(vhTBTdV=$gbQFPA)L~iIA;)gqdDhq zbEl>#82l3`p$}8ik5FftQDC6~;Gm&^@<%}VD_s5)T+mRt9tv*%-AlQax@s>kaU0%c z6t8!d*DaDoFc0&N&NdOwARLIe%OntVyhh8>Y^*=0%7g9_>AOGL?}Zd1Tt_E6>AF`O zON!w~=D070=`wmWijHHxTR{&|#3Uo#`LbQMi$|F0LDuvTHo*CU{Qk!?c2?@B{6c2A za+wWD*EtbOwk1ajb(plN-%OJ+%DRC0k2}FWq3|P3M*{j)1+JpNp zqdvszT4Ii=I=E-b@v%M)=X#y->GhVcni`<`%4zV3O8}BEMZFk@#A3qOEb>u#XR(YceY!a)Qx>N4YS{@uC z)W2C%!0CQLb|raxC%G`@*=W#SdO~DGFRgPaGvQD+2<8aW5~iuYJcm`Cvhm#vI3>iD z1I#F~+wF+fdQEZ$^yN{-v>Q(lH{rNr66I=xOfNnk?CYY-l0U_cnD%*dxx?$P&ZQWVM`+YC9gf(0UFI|MG)%U&G^JjwEhSj-o z^yZt(3Sat!fibIX_|U!f{m%EiL(RGJ1f-j+ddzI5VrS3}IHTQi9-ss{-VZcsloW%8o#0pKqio zv5?Mja5rz)_z14hgPEhT`H-H`Ptm0AR&Pc{M$wGnNI!jb_c`|#eca;dr8hOu<+?V} z!6uj0Uypx1(vf}x*{$=Ys21aoR1@a)CV@aGgv3BK} zwq9DtMbOgDU8e2V8*YxzDh3k-6$Dn}Z-&CePYN`ZR84UMw`G9@f)f+zm(L@@g@2Gp z2*4^bPVQ$77s6Q`^j}YUj|F&)O^Q$&w}N>J$4Ee;X3B^Plj24~P@kg=%mC3QM3<6T z*@LNaH@XI+VTJYMUct&U$>wM;xp0e}kic$lO+}?Z#uhy?W^7S9 zG4E9Ar)ETD;JY%CWM1OE$nb5=UQBV@mRl#E(!6=nCPB_}Zz+sMopUeUTb7@?>pu=G ztetFrJbu)cTYLHjpzXMR5g#-`G%zvIO!!kKC zU3<6ub#uJ)p616jL?;mzliVa~KN88sXE!7B^Kc}Q@Ikyv(I+AN)*JFEEK#(dV;N?8 zW^Lyaf%$sn2Wk5RGD<^Iv&_F4o_= zbaV_!KpS!19=W_|^|{zMZ!o?5`oSU&35r#C5TIl}lH+i;&@^aHl^Y>RU*KZR2PNj? z)Wm4#s{F>xA2Od7z2s`_7hDlT(Cu+nX%!j?o&E3KRoL>5-^s?m?}vkn0=vN-mcgROPxM;1ykM1@^|_TW{9r z1AcJi$QJ9}Vm2ojOoT#ZIG~k@REITil5lO>>cx&-Fm+vgbJR06mR5>r!vP{bp>7{) zE{s?w?kM&`zfNRgv?B{q+LnI*NmGd0IIk5b7$VxR_(a33)o|(!q?F*D}gmXxLFn&Co*zsxB=)Tf+r295sADC433PH$Ei+~+Ybus1>- z<=J7cOKTo5)UYJMxgIDycv?1Fx}0Ub-j&3@bnmkH_9+dsEOxv(QN7n2uR4J`Jrk0| zdKVd)?Gcto4T-kpG)#DJnDZ38xH%0eDAc!tQcHCx=JNpd+vT0zgQ1(ch?BM*IzYX4 z^m@$5V=tDfp-Q!}CTl+<-VzhEs#tv;sidv6jb=|Dcd$W8n?fN0sbNzF3!EQ1f$?d! zgdscIrqW1Wg}{%WysRNFcha`~*%MU~(E)mT}-bGX6WR5KhI-RrvU_Sz91p7VOrG06-K5Kx8;ENkp z3p4@VTmN#TT37$$C{9)iyoX&UUAFoKt3bC+fZeyvxpoFO%(;XzJbpEo@?v!EUFbF) zuxh>}%4EVN4PsA~)|$(_C1O+%saNLNs!+6ud_Z()g%1@^ekM*qZ1UCt>GH2JEV>hv zh=~pWbYTMk1b@UZ53sMJmB-Ia?X`}POBOGA&`bDL$afHdprtZ~w)$hZijhu94qOjg z&3=~BQcY2Kw_|@nN_M^?D>J?K;lod2YfZ3hPl*3BZ4tFW@(4Dx!(vYD!3}PC(>?d# z(AGX;1JX(s^~o2)pE>=nxa~$>Oe6eN;<1TqlqcKxPH;aIHWony*-8sZO*jfL`CMnk zmS-|yHPs4`59~M}^@;C3dR9gH_9_JD6~odJPfBr&nNeTHq8R5!jJaoBvPv=+cB%3G zI}!5{9=CmS=yUFG;YmVn848v1vxUUz=u|`6U$^wCs>Py{GIkIEp>D(yac$Esa+zl8 z3>jPuLogNPX`cxD0_8^-a!$CqL|TE#O@R`=-;7Zhz$5u@m?q00uEh zWSzJdX`j(kCX&5>D%8u7SK&W)aICSLbN3r>EF0E>=m@N0iWNHfJRs|nNeXMWE|&R> zqqoadeCd1dGH9soFbtNI0}DsA##8j5bpzQyHF(Xm>yE$r!l6;mO!=`?jRe19^vow* zD$?TFyeZ(yMS*GIYH{F>=O}W%VnHjXMcHdLd*afjRa3p_W49G?aa`rV2;z#0k+Q zB?)ALh1u|e`6T0ih!f_I2GqAhk9@i%fB8fTY){(i@b?j!8d1LKB0{(581va z{jQqy>|l2^=wAt>gkE#|IuuUcqkiOn;>Fg?-OBPY*xkgnPdAE{{-U{zof$$%Alq zyE$V7J@_z5D&mO}CpZ`Ptx?y}J+YoiYPan4!N=?-xbf;j$d?v6pYCp0!tduZEGPf) z!{67MkK03)0spM!K>5H^1ZsF7)Fj;bW0*e+|37QFKbU~u72Pi$AUsi86`hYbVjptF zG_o?PEB)HBUZQv+jIu=X>A;w^Y;s1TWx)?*U)WRWgEJqOcI0z2?*!>UEpC&A&cbbJ z5~B=pF?5Fh`4%?K0%i@W@WIXq+?_r|*87|rb6(mMFJtY=xv|m=r**f@DP#2?DEE$L zuqu|TTNjZnkv*6~23{2(xnM!{)I6W#Z}h;?JX>GSeU~))xM<`@(W0<^p%`I81H>LL z!g{+?OcVWCHq|K!&WO0RJyhwiO@F$F_)^~c@*qpiseiah%NjqoU)nU#>?c$B&$(%E z7|}6C&5I-IED4Glv2?M}ba!#};IVLVxB9dD^*=@gWi$b>Nl+LsdE~x&0QQu>t(ln- z&C{4nx}15v~el9W-g5 zWFuswj@^_I3`wmEr@AebujB4Z@-_0%uq&sOR3nfJ1rzY~qg<4LF)ggR0z7Xg(6%i%s`&dTBN4|zwWQY=Li zA2{AGX^dVv75wmXvT`lQNM5zTZOeNR3LME%K;WSiOyUp+#N|OLTeC&iu3b$(cpJFYz1xJ{NMzD|8P`j}s@~ zYQ}87BFDs_b)Y;=^;uXk4!VU2yIJ>@Pl`1mWL?2DKr4%m%+fssQxT(FPBleW>y=ZU zK;u)UH6LD@Pie_rgo*gf|AuYFg7=8F7SW(znRj3ww1m7zirzZ=W5wd8^@< z&o-pA)<&MCT@=-dnmZPs1y#LE&5n!Rs()%)lb_F>n%!XU5FaIkz1`=7!McX^g?^+8 z9`8n7_r-2Dtl&8wIM~NY@70+TF;=$9@m(>p=xQv)475%|$w2b$cPJMi59ath(n1tD z=75yvQADTw)W`JnhS_^Mw@(A;m-fPUr^R}QMZXU4eg)k}gt|QN7!xtc(70gpzujWl zofPr-q$k2AK&i#Y0mo$C_n|go&a(I%6SV!1U`E1){~MF#N@i8m#q3cBulVJMQeCq}2s$!zdg`kg0P}RDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o11}*(xTqIJKxa zrX(XVFC!*AzbHE}-u2fIy9;YHKQXoTLcaG_*uHLbMnr6}N-|g3^qovAHOm zVN?@EFZ~-iw7K=(Uo+R9`UiR_il&d0WUF$3xTH9odCT|Syk)4MP{<2#{TRJPKNJMv z_hd1BWnl3P9{L*$NU#JXBFPm!$&y3?OL*=l@n`uL;b{J7-pZgkD~n_+*AuLTo`B}x zidG)p8F*hpS!)sHa0V^(BqXDRe(9}9M6~!u?uk|b6|BqXGP(j1OREC9`bHw6bp z6_8m**V6HNI^G~+PqvoOP3tPUWi5ln6?m?pkF4wHwsiv#R#yeUyoo+GgyJ1%LllI3 z<;d}SfkH83#P3n%FbEawImESxxZ?~4${-AmaF?n1{0{bU=rD|w&WUmlrHbng@`$fc z=7el4c~6NbKq+J7Ep-#_e7*|6UJzo1_+Z0x7zum@eymTxDsk}_-~`V185__ir4kCd zR2|uvc+d^J681{~SYp9|bZKegb!i08`dB%PTvu@kWlC^(wkyX+U{Q>zFiXxYH9oCPx$59|Y#oZ{x>rrp(k?V%u#@dh-A8t{0_u<+`@jl)dZl2g{ zcZb2(Th3-o*PcB(?s|0d@%@2W%*NM7FlsmOSx7o+8q|1YmKuS@)fr-Z$U;6n4M9l(H$OqxTjq9;%TCK4b-V8RNW>$=&_(mu#2qBNUmAD#j~~zC%tX+>;TSFmvll2Ldy7$_VtSWyk(dMzg%k?CXj#t zwPNsmqgJWZ^?hwm=Zkx-mT9;5>g86m$`?$%v0K+n-QY|6#!fAfuh+_2QdWGSqM2G^ z*5J3aw)x!N)eK|5wO6rUYV{g0TTqRKy4KujYdgAKZdG&utTlAoYC-Ab+Td_)KRN7znfpgDfmAE=h7$o|C2A wd@e8NB{?HXVos9Y$$!i5u8>#i?QuXvK;}hy%+CDXNrpW4B3(?Z|d1%XQEE z1UG&uS5Eu_2gKNEMTLX_N3q7E$(#3{Cvr3j5v+Tg&y;r%`f3mRs|SZC@ah+^QIsO; zQNQxIpZcDSJ5`4VY2f0Z>hfON^AHPYm-(xMRsYt9xW{^{LwZ2_pE^rF4e8+}ib8Vh zBNSe}eu;A_7UgoSh$*GO3#l;Uq^zY;L6bxUlRaFyXm=gLLSEV*s z$+ck`1C+)_;`b%n=op^^4ws7IQUD}x!Rv|<&9G){8e&+5F}0p136;5y>57P@+_lRk zPnbv^#wUr9b(!nL7AMeNC*iXXgaekIhUaUMJKnCX1AP$Vr<7tMaLH?_%oO8=k{t7! z%<5^AElpQ{vaPoYtbjd*@F|Ebj>qH4R#zc8n_xjWJ00729EE2U(fa-zgwZ|JKe3Re zV9FAS9pfFH=YaJ;Y;1i@bY?-0qu&@^h`d_UQY^s)*Uw6`*Sz!R!Wn~s3S5t^WycX- zY^|KOcD2_LTf=uGx3v>z%0IK6S8|zvfxAv)n{c?}CFi1~rDvufqL{sv>fNjbhwGiSzt1-D j*MsdH*Edc75tnpbvBw_t(MPZaXn1$%!Q&r!{U1L8>nc$R literal 0 HcmV?d00001 diff --git a/email_webapp/__pycache__/wsgi.cpython-310.pyc b/email_webapp/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16c5bf930995b8a0284f054a44ee93769b064d8b GIT binary patch literal 593 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 + + + Email Result + + +

Email Result

+ {% if result.status == "success" %} +

Emails sent successfully to:

+
    + {% for email in result.successful_emails %} +
  • {{ email }}
  • + {% endfor %} +
+ {% else %} +

Error: {{ result.message }}

+ {% endif %} + + diff --git a/templates/send_email.html b/templates/send_email.html new file mode 100644 index 0000000..bbf8626 --- /dev/null +++ b/templates/send_email.html @@ -0,0 +1,25 @@ + + + + Send Email + + + + +

Send Email

+
+ {% csrf_token %} + +

+ +

+ +

+ +

+ +

+ +
+ +