From b107de326609d1cb5f9fd8a9bd0ab5aa47078cf8 Mon Sep 17 00:00:00 2001 From: Roeland Salij Date: Tue, 3 Mar 2020 15:05:30 +0100 Subject: [PATCH] Added option to enable SSL Check Identity in configuration --- .../[App Store] Email template.mpr | Bin 9633792 -> 9682944 bytes .../emailtemplate/actions/SendEmail.java | 5 ++++- .../emailtemplate/mail/SMTPConfiguration.java | 12 ++++++++++++ .../javasource/emailtemplate/mail/Sender.java | 2 ++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/EmailModuleWithTemplates/[App Store] Email template.mpr b/src/EmailModuleWithTemplates/[App Store] Email template.mpr index e9b77a71dc63a23785dad3d2f0dc7662fecc3215..18227a0af3a8e6ff0b63af736a8754202596f218 100644 GIT binary patch delta 4672 zcmb8zcUTnH+5qsG+1WbG&LCCl>VilSmJZ6|3M?I@7aJWGq<64^4J$|xJ9D1(p7=>pkq zNeeMd9Dre%8b~_E`{Kg>%x+trSiflgIjZE3i2T{LHibZ#iBqM2nP`$68s8&0nfn;?R#`0k~HQ*ROB%R$54MM8_XT9 zU|A`;wVfWt9&RM$jdOlbZ8rD#Wcc=b(~)5v8Cc8nF5E?A=@b>q{h}f)>Jj@un zORmaGOpFfJHi&rB18S>hZP;*^;Cr%1Z87azQf54}I@yb!RIm#4Q#~tXqsJ;&e!EN& z)|KU35)|3uhg3C|cBr7&+z7q8V(xG#ljOy5ymsbyrmM+-MDbJjR!AYI_^2_JG(c=M zBjm0rC>kHjbN9naaSY?zMTB51%m&LWTh5>JicqiJ`Rj{guU^kY9T`jj%BrmXb~`JleetbE3e3z1VK z&L$6i@rX%%5woJIB~-rtiHE+z&@`bX>b0Zpuy#WGa^=7g^)jc6ycZ`;f7F$8H|!}F zoE;ZCcdy;eOA$*$H^h>6vlr>xo=bN$Fh&@H4i!RhKOHcmzUoZ1M3)P)x<*JD$Q@3AW_#iA+39bw#KmKr9Bubj}J36)G#IHCSzp#`TlrFQZNcMJ4r zG!;Q4jYj?!)Hb5Q91U4e7VKu_yv@&h#)dDASCK6f`J8@m-4)2Nq#m$oSGKKho8B7K zG;2!kvrRKQwB_Y!-l8@M8nmJ=u%DmaHGT5sIWZe7p1CbobWPTl&p?a~b(ihTDP5S( zeXssx(~cAVR+L(Rfglxz$0_MP4GLxpPl3NWI!zmIeN@I z-gBl?q_%mQSr853P2#gK=`hcm5aYA(&#?q7q0?|AfE3IiJ-L(-QiO9$ekQ-e>1T~& zBrYy;Q69bIVIV4cMmoDr4X^ZW^i+FCmel4YXwr+E{lh~Fl7b@?$pxiVX*qS-$=Rje zo@I$?MQY{fBiv`tNPjU(H838WwgELZ)5IowMNO--N&`Z$FAIs}KDB^G7 zaS0=&7uhl_2vKN)-s z&*gk}t&9F@L6qpCU^F^Y$((2Jo!DDy^K(&n_l?_|??^3g=qvSf3ysi?3`X2l&D{E5 z(nz51wiotc2dA#Q{_UKeHD^E2xB7pj5f{@fJ_lAlQtiV2F>l_ur`Z1`jRc$c2^wA=Nl)Jep%ed7=AROgP)s&VE-`up#7F>e+PL zDu;CaOd(`mv7N)F4G9mDf>yP>va>o`V5}`lLpx=ZF?yZ@*YAs8_C5aj>bF5XEd{mS zN&)ZBrn+Qwi{N4o~JA4AQ3S*E7&NlUv9THbcgK4Nd4DXg1+q^ zImiq>C}0NJtNsd4d3{;rN5NAaB;OSH>MLmz5$9XT5IFnm`A;2x&D|5xbftUD)bynF z`U-z!qkHT_b`IaH)#E$k)Rm>kb%AdNQ*A*`NLE za*+*MT*7?KmTW0@IydTv;MH~ZIUbD_8}*g`NJ#eRS}Ajywatoloq4fL)mvVUjaX^~ z`bzI)C0nE@XHK!@GgKRo>>5_@{-Nc8(698Yz9s~nj{z-ZF#_9yVOw~f$gmIZr0?Kr z*iE*uo0?C@A?sMm(KRaAFEX~g#CLYSvnIYStY(@ftvD(%LtGx^OB+%B8UMOF{&XI_@xm zi<~rDJ1^BH(t&d>Cx>+jV-Phx7n*VQ3FK8M>L3+pK+d;CpB9rwTz)3GOIPVKCk-OQ zCB(`dTv{}_o7W}6tx?|shD7z3TWvXY9QoCoMG`(3;loK}vea0@?>Sp4DNC_<3OPuj=Tk^I}L7bopH<^0v8?1WcVr} z#bOl8Bxx`E3Y?&ibMN0|>cyPPRz^*tkQ0?t`;UOIZVij&GDI%mlES&(@>aNU!9d* zSX=8~6788E8=9jD4lija(1iF^6z7%{Br6lpv93{phEj;)jFh~}s=~5TnY+8IqJ>4H zfDteTCcqS!0dp`KSO8041+0M$umv(O28;!AU?1AOI*qAeanPUvK`00V;UEG;f+!FTVn8gI3gSRK zNC1f-2_%CQkP6a3I+zBggBf5Zm<2LGCddNWAP3}vJdh6xfCdzTA}|{igAz~*%0M}& z0F|H$RD&8&3+g~UXaJ314wwt(f%#woXadb(Ay@a zJLuq8v}QyDnOW??B^c3r4bawqO@OB%86CjW{?`-Xmt!nZX{18R&5_f)DH~h<+Xs+! z*B*SiRkJF3kIBEEo^rkS0J**|4PbnpwU_-+)*IIS?}HT|Z&IQ$i^WNZorFtm)-bWQ;^hW0Xk@#<6tRYeQgp_z zRmu+Jr@S0Y-Kko4twuR8x=@brWKodym+y=tx;XK)*{V;%K5eUfzI@(%^h7DPAy#6Y z11~L@(4<8H8-o4fk50boesJ%5s6Qq=z}^O$!)Z|l$3^`C^M9T^p&Uc4iJ`ts(c1p$ zH4k1!Y(Fzcu@l`zCkhIz&~YBmnhCpGnh|>W_vmArZ;X0=syi zCwcs9kLVAJV@s|j?=C|po;w6ET?xGd_~2 zXpV4Ka3@u?xd?aXu7=Zbe9j@3zJhl-;(R2Iqf>DYE-Q{+Bg8$qpHrb@LhQ>)7i#a9 zvWuQ~7Q%S$*fI3=4)P&!M9?`U)`A=SkQ|2Rb9V*CLGfR)6+cwhDZV>7 zc5TxJgNVeqYScVT&UzDDM*kgK4aji7*n#LV;I4m6%6VwE6)xqB`p6)d=|nEEpS&;7 z4HEUvDaH+VJ-K<~^{LzHl(VKSk=dhu3w(-a)zBtxJIaqd;$L~8hhK7B{|yA(;NJcQ z;_ZWZbpyI-Vq(sEow9ZBzf};`eP`YBadV5>(Ffti!K|;>f-9Q!>B0R2cb7f-fDT0N qkI3oVw8P{sp-?<2WX*ycQa3Iad7M1V5aIxIv&b0E9|PoV+y4MJiCLNe delta 2475 zcmZ|Pc~BHr8UXNqJ#Q{%nr;x}Tpc0`$S@3t0~pa^W)K;fVYr8QfFdBE0wW^essl#B zV-@U#SJ};$m?fI3^#D;`T#ZL6sTeio5d@R#?K1*>VW2|wge25FrnodmO0mx`*e$y^mSNH#jMAvJQ~Z!; znQU^W+AolX_K0^UcWeByubjzcWDBKwyje0L2}hqYxuVb5EP7ZXO~kb1DIP)G4|QQ) zTJ01?Ik)-lbYgynqjhTw9rd=F74wo^uKL`JBCE?#WpSBo71fo^h3O_|O-A;bI9qmo zeWg7!l|N43eTGw%YS?%>2M?KilsP6y_eiLw&+B#EJ}Q?28IS`7Py#PHDp!Rm@WA=U zJ4jq{iJsIQkxn6ZOsX7mdm9%?WB-L;VYVoW=3w9@81-4PM+b`0`xct>5~{f(^oKqJNAp2_1W)1JBf_*xyTan$E?ac8<@T z{~cB!q5N#`$YJMd+o4mrp{J`4jClH-B;YbWFMRMIBI4}4pzQr8D$jP`+dfEP)kGxB zu4upT%^{aP=tggm{m8u@F<_| z)$V6kQ9rwStY5)OrZUorlBu3CK@!~B!{pE?3HOznWxga=ehjyeOP|=h2V=NjSyFmV z%^mX*_o}@h$)WNUjG1AmS1G4u>0NIz6p8Lqj@%BM>P;sLB2|%JHR25g488Wqb!I;4 zk4JhUgbM*=tXWjk*w@4q8A_s6k>YYWN+wrhMIGt;t16Oe_2NM!VVGfZJx=@xrBD(t z1}c!A_RSO>Qi_e@HBUD~uBVBMP#iUw#NBcfPe0Fu72zDCFHyIfl}cFy!x}vM(z5M_ zr5rUZ^*;Zdr@+t2m3np~QI_yOk)}KRIbsx*N;*;}JX5j*W^%DbC}0eH-^jn^;g39%+W+P6tqhaqvK*wQI%>GbLD^pzQEa|z+47}p9LY7Q`Q&W3 z@9YVlo4BN~+_k!@c9kYhuZ!2kw+qAPz0Qy7`y=%fQ4WYSPV))DOduQ zf- private java.lang.Boolean UseSSL; private java.lang.Boolean UseTLS; private java.lang.String FromDisplayName; + private java.lang.Boolean UseSSLCheckIdentity; - public SendEmail(IContext context, java.lang.String SMTPHost, java.lang.String SMTPUserName, java.lang.String SMTPPassword, java.lang.String CCAddresses, java.lang.String BCCAddresses, java.lang.String ToAddresses, java.lang.String FromAddress, java.lang.String ReplyToAddress, java.lang.String HtmlBody, java.lang.String PlainBody, java.lang.String Subject, java.lang.Long SMTPPort, java.util.List AttachmentList, java.util.List HeaderList, java.lang.Boolean UseSSL, java.lang.Boolean UseTLS, java.lang.String FromDisplayName) + public SendEmail(IContext context, java.lang.String SMTPHost, java.lang.String SMTPUserName, java.lang.String SMTPPassword, java.lang.String CCAddresses, java.lang.String BCCAddresses, java.lang.String ToAddresses, java.lang.String FromAddress, java.lang.String ReplyToAddress, java.lang.String HtmlBody, java.lang.String PlainBody, java.lang.String Subject, java.lang.Long SMTPPort, java.util.List AttachmentList, java.util.List HeaderList, java.lang.Boolean UseSSL, java.lang.Boolean UseTLS, java.lang.String FromDisplayName, java.lang.Boolean UseSSLCheckIdentity) { super(context); this.SMTPHost = SMTPHost; @@ -64,6 +65,7 @@ public SendEmail(IContext context, java.lang.String SMTPHost, java.lang.String S this.UseSSL = UseSSL; this.UseTLS = UseTLS; this.FromDisplayName = FromDisplayName; + this.UseSSLCheckIdentity = UseSSLCheckIdentity; } @java.lang.Override @@ -110,6 +112,7 @@ public java.lang.Boolean executeAction() throws Exception config.setUserPass((this.SMTPPassword != null ? this.SMTPPassword : "")); config.setUseSSLSMTP(this.UseSSL); config.setUseTLSSMTP(this.UseTLS); + config.setUseSSLCheckServerIdentity(this.UseSSLCheckIdentity); String separator = (String) emailtemplate.proxies.constants.Constants.getEmailAddressSeparator(); if (separator == null) diff --git a/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/SMTPConfiguration.java b/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/SMTPConfiguration.java index 99f1c60..57e8729 100644 --- a/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/SMTPConfiguration.java +++ b/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/SMTPConfiguration.java @@ -10,6 +10,7 @@ public class SMTPConfiguration private boolean useSSLSMTP; private boolean useTLSSMTP; + private boolean useSSLCheckServerIdentity; private String fromAddress; private String fromDisplayName; @@ -20,6 +21,7 @@ public SMTPConfiguration() // Basic configuration this.useSSLSMTP = false; this.useTLSSMTP = false; + this.useSSLCheckServerIdentity = false; this.SMTPPort = 25; this.SMTPHost = ""; this.userName = ""; @@ -29,6 +31,16 @@ public SMTPConfiguration() this.replyToAddress = ""; } + public boolean useSSLCheckServerIdentity() + { + return this.useSSLCheckServerIdentity; + } + + public void setUseSSLCheckServerIdentity(boolean useSSLCheckServerIdentity) + { + this.useSSLCheckServerIdentity = useSSLCheckServerIdentity; + } + public boolean useSSLSMTP() { return this.useSSLSMTP; diff --git a/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/Sender.java b/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/Sender.java index 8d89173..06c261c 100644 --- a/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/Sender.java +++ b/src/EmailModuleWithTemplates/javasource/emailtemplate/mail/Sender.java @@ -236,6 +236,8 @@ private void setConnectionInfo(Email mail, SMTPConfiguration configuration) mail.setStartTLSEnabled(true); } + mail.setSSLCheckServerIdentity(configuration.useSSLCheckServerIdentity()); + /* because the default session mechanisms uses System.getProperties() (which is not allowed * in the cloud), we need to construct a session ourselves. The code to do this was lifted * from Email.java in the commons-email package.