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 &#43; (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 &#43;
>>>
>>> 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 &#43;.
>>>>>
>>>>> 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 &#34.  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 &#43; 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&#43;WBUus2qBS8">
>>>>>>>>> a&#43;b
>>>>>>>>>
>>>>>>>>> (note the &#34; 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 &#43;.  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.

Reply via email to