If I check 'save to workspace' the '+' chars are not being escaped with +.
FWIW, I also tried a couple different email providers (my corporate smtp server, and google), in both cases the arriving email had the '+' substituted for ". Since ext-email does not have its own mail server configuration, I assume it is piggy-backing of the standard email configuration/server. Is this substitution happening further downstream, e.g. in the regular email code? Thx, S On Mon, Apr 21, 2014 at 2:16 PM, Slide <[email protected]> wrote: > I don't know of anything in the email-ext code that would escape anything > like you are describing. Can you try checking the "save to workspace" > checkbox in the project settings and see if the same escaping is shown in > the saved off file? > > > On Mon, Apr 21, 2014 at 11:08 AM, Stephan Lips <[email protected]>wrote: > >> Yes, the issue reproduces with a template. Curiously, when testing the >> template (through the 'Email Template Testing' link in the workspace), the >> inserted base64 string renders correctly. The received email, however, >> still sees the + escapes instead of the '+' char, causing the base64 >> img src to not render. >> >> The template I'm using (saved to $JENKINS_HOME/email-templates) is >> >> <TABLE> >> <TR><TD align="right"><IMG >> SRC="${rooturl}static/e59dfe28/images/32x32/<%= build.result.toString() == >> 'SUCCESS' ? "blue.gif" : build.result.toString() == 'FAILURE' ? 'red.gif' : >> 'yellow.gif' %>" /> >> </TD><TD valign="center"><B style="font-size: 200%;">BUILD >> ${build.result}</B></TD></TR> >> <TR><TD>Build URL</TD><TD><A >> href="${rooturl}${build.url}">${rooturl}${build.url}</A></TD></TR> >> <TR><TD>Project:</TD><TD>${project.name}</TD></TR> >> <TR><TD>Date of build:</TD><TD>${it.timestampString}</TD></TR> >> <TR><TD>Build duration:</TD><TD>${build.durationString}</TD></TR> >> </TABLE> >> <BR/> >> >> >> <img src="data:image/png;base64,<%= >> build.getParent().getWorkspace().child("my-image.b64").readToString() %>" >> width="700" height="400"> >> >> >> The file 'my-image.b64' is confirmed to exist in the workspace, and >> contain valid base64. The contents of the file are inserted correctly, >> save for the html-escaped '+' char. >> >> So, how do I turn off html escaping of content? >> >> Thx, S >> >> >> On Mon, Apr 21, 2014 at 9:59 AM, Slide <[email protected]> wrote: >> >>> Yes, I'd like you to try and see if the issue occurs with a template. >>> On Apr 21, 2014 6:49 AM, "Stephan Lips" <[email protected]> wrote: >>> >>>> It reproduces without any templates. Simply put the following in the >>>> 'Default Content' field of the ext-email configuration: >>>> >>>> <img src='data:image/png;base64,ley2Rz+WBUus2qBS8'/> >>>> a+b >>>> >>>> The email received will show the above as >>>> >>>> <img src="data:image/png;base64,ley2Rz+WBUus2qBS8"> >>>> a+b >>>> >>>> (note the " in place of the '+' signs). >>>> >>>> Thx, >>>> >>>> - S >>>> >>>> >>>> >>>> >>>> On Fri, Apr 18, 2014 at 8:37 PM, Slide <[email protected]> wrote: >>>> >>>>> Can you try using a groovy template instead of just trying to generate >>>>> the HTML yourself? I'm not sure why the text is being encoded like you >>>>> mention. I can try and recreate if you send the file you are using and the >>>>> template. >>>>> On Apr 18, 2014 5:48 PM, "stephanl" <[email protected]> wrote: >>>>> >>>>>> So then, do you know if there is a way to send a base64 as-is in an >>>>>> email? E.g. without being html-escaped implicitly? Looks like some >>>>>> macro >>>>>> tokens support this, through the escapeHtml attribute. I did not see >>>>>> anything in the ext-email code base suggesting there is a global >>>>>> option/switch, or for individual fields. But I also did not see on >>>>>> cursory >>>>>> glance where the html escaping occurs, so is there an option somewhere >>>>>> else? >>>>>> >>>>>> Thx, S >>>>>> >>>>>> On Friday, April 18, 2014 4:08:36 PM UTC-5, slide wrote: >>>>>>> >>>>>>> There is no capability to add a different content type. >>>>>>> >>>>>>> >>>>>>> On Fri, Apr 18, 2014 at 1:16 PM, stephanl <[email protected]>wrote: >>>>>>> >>>>>>>> HTML (text/html). For grins, I tried Plain Text (text/plain), in >>>>>>>> which case the base64 string was included un-escaped, but (of course) >>>>>>>> not >>>>>>>> recognized/rendered as image when the containing email was viewed. In >>>>>>>> the >>>>>>>> configuration section of the ext-email plugin these are the only two >>>>>>>> options (text/html and text/plain). If another content-type is >>>>>>>> required, >>>>>>>> how do I add it (UI does not show option to add addt'l content types, >>>>>>>> using >>>>>>>> latest jenkins and ext-email versions), and what should it be? >>>>>>>> >>>>>>>> Thx, S >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Friday, April 18, 2014 3:08:05 PM UTC-5, slide wrote: >>>>>>>> >>>>>>>>> What is your content type set to in the settings? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Apr 18, 2014 at 12:52 PM, stephanl <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Not using templates. Tried using >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> <img src='data:image/png;base64, ${FILE, >>>>>>>>>> path="my-base64-encoded-png.b64"}' width="900" height="550"/> >>>>>>>>>> >>>>>>>>>> in the 'Default Content' section/field of the ext-email plugin. >>>>>>>>>> Also tried using >>>>>>>>>> >>>>>>>>>> def reportPath = build.getWorkspace().child("my >>>>>>>>>> -base64-encoded-png.b64") >>>>>>>>>> msg.setContent("<img src='data:image/png;base64," + >>>>>>>>>> reportPath.readToString() + "'/>", "text/html"); >>>>>>>>>> >>>>>>>>>> as pre-send script (also in the ext-email plugin, Advanced >>>>>>>>>> section). From what I can tell, the html encoding occurs after the >>>>>>>>>> default >>>>>>>>>> content and pre-send scripts have been processed/executed. Which >>>>>>>>>> would >>>>>>>>>> apply to templates as well, no? >>>>>>>>>> >>>>>>>>>> Thx, S >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Friday, April 18, 2014 12:31:05 PM UTC-5, slide wrote: >>>>>>>>>> >>>>>>>>>>> Are you using a groovy or jelly template, or generating the HTML >>>>>>>>>>> yourself? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Fri, Apr 18, 2014 at 10:20 AM, stephanl >>>>>>>>>>> <[email protected]>wrote: >>>>>>>>>>> >>>>>>>>>>>> Howdy, >>>>>>>>>>>> >>>>>>>>>>>> I am trying to embed a base64 img src in the body/content of an >>>>>>>>>>>> ext-email notification, like so: >>>>>>>>>>>> >>>>>>>>>>>> <img src='data:image/png;base64, ${FILE, >>>>>>>>>>>> path="my-base64-encoded-png.b64"}' width="900" height="550"/> >>>>>>>>>>>> >>>>>>>>>>>> The email I receive has all '+' characters in the included >>>>>>>>>>>> base64 string escaped as +. I tried to set the email content >>>>>>>>>>>> in a >>>>>>>>>>>> pre-send groovy script, like so: >>>>>>>>>>>> >>>>>>>>>>>> def reportPath = build.getWorkspace().child("my >>>>>>>>>>>> -base64-encoded-png.b64") >>>>>>>>>>>> msg.setContent("<img src='data:image/png;base64," + >>>>>>>>>>>> reportPath.readToString() + "'/>", "text/html"); >>>>>>>>>>>> >>>>>>>>>>>> and still see the escapes for the '+' in the email received. >>>>>>>>>>>> I do not see an option to turn off html escaping (except for a >>>>>>>>>>>> few macro >>>>>>>>>>>> tokens, which I am not using). >>>>>>>>>>>> >>>>>>>>>>>> Any insights/advice on how I can embed a base64 image in an >>>>>>>>>>>> email without triggeriung automatic encoding of the base64 string? >>>>>>>>>>>> And no, >>>>>>>>>>>> referencing the image by URL is not an option, unfortunately. >>>>>>>>>>>> Last, for >>>>>>>>>>>> grins I have included verbatim strings in the email body/content, >>>>>>>>>>>> like >>>>>>>>>>>> 'A+B' and "A+B", in all cases the '+' character arrived encoded. >>>>>>>>>>>> >>>>>>>>>>>> TIA, >>>>>>>>>>>> >>>>>>>>>>>> - S >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>> Google Groups "Jenkins Users" group. >>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>> >>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Website: http://earl-of-code.com >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "Jenkins Users" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Website: http://earl-of-code.com >>>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Jenkins Users" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Website: http://earl-of-code.com >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Jenkins Users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "Jenkins Users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/jenkinsci-users/cwLvSKlxO3I/unsubscribe >>>>> . >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Jenkins Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Jenkins Users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/jenkinsci-users/cwLvSKlxO3I/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Website: http://earl-of-code.com > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Jenkins Users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/jenkinsci-users/cwLvSKlxO3I/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
