File an issue and I'll get to it when I can.
On Mon, Apr 21, 2014 at 4:12 PM, Stephan Lips <[email protected]>wrote: > Hmmm. So I looked at the src for CssInliner. Most interesting is that if > the attribute data-inline="true" is set on an <img> node, the image is > retrieved, base64-encoded, and included inline. So I did a li'l test, > where I referenced an image via URL, setting data-inline="true". And lo > and behold, the resulting base64-encoded string that arrived in my inbox > had .... the '+' characters replaced with + (prohibiting it from > rendering) > > Other than that, the only code that explicitly deals with the '+' for > replacement is line 135: > String trimmedStylesheet = stylesheet.replaceAll("\n", "").replaceAll( > "/\\*.*?\\*/", "").replaceAll(" +", " "); > and would not apply, due to the leading space. > > So looks like this issue manifests itself with use of the data-inline > attribute, making that feature essentially unusable. In general, > base64-encoded strings (or '+' chars anywhere in the email content) do not > work with ext-email. > > So where/how do we go from here? ;) > > Thx, S > > > > On Mon, Apr 21, 2014 at 5:43 PM, Slide <[email protected]> wrote: > >> Hmm, actually, it looks like the CssInliner could be doing something. It >> processes anything that is text/html. I had forgotten about that because I >> didn't write that part. There is currently not a way to turn it off. >> >> >> On Mon, Apr 21, 2014 at 3:24 PM, Stephan Lips <[email protected]>wrote: >> >>> Nope, does not make a difference. I blank'd out all fields in the >>> default email configuration, and configured the ext-email plug-in >>> overrides. '+' characters in email content still arrive as + >>> >>> Is some jenkins/ext-email dependency doing this? >>> >>> Thx, S >>> >>> >>> On Mon, Apr 21, 2014 at 3:59 PM, Slide <[email protected]> wrote: >>> >>>> Email-ext DOES have it's own server configuration, you just have to >>>> check "override default settings" in the global config. That would be >>>> another thing to try, overriding the default settings so that the session >>>> is created completely in email-ext. >>>> >>>> >>>> On Mon, Apr 21, 2014 at 12:37 PM, Stephan Lips >>>> <[email protected]>wrote: >>>> >>>>> 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 jenkinsci-use...@googlegroups. >>>>>>>>>>>>>>>>> com. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> 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. >>> >> >> >> >> -- >> 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. > -- 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.
