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 &#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 [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.

Reply via email to