Email Tools


This plugin provides a set of tools for transforming working with email. The goal is to abstract the difficulties away from other web development techniques.

Documentation and Examples


The HTML to Email method takes HTML input and transforms it so that it is save to send as an HTML body. It will generate both a rich text body and an alternate text body.

//assets.euractiv.com/email-tools/builder.php
ParameterTypeValue
api_key string The server-to-server API key.
source URL The HTML to process.
max_image_width integer If set, will embed images in the email message instead of simply rebasing them to point to the original source. Images wider than this number will be resized down.
content_selector CSS or XPath selector Complex webpages often have a lot of stuff you don't want to send in the email. If this selector is set, it will extract only that content for building the email. Optional, default //body
template URL The email template to inject content into. This setting is optional; by default it uses a variant of the popular Email Boilerplate template, which should be OK for most applications.
template_selector CSS or XPath selector If using a custom template, the selector to inject the content into. Defaults to //body.
format html or text For debugging, return only the format requested as a webpage.

NOTE: The API can result in very long query strings in your URLs. Therefore, you may experience failures if you are sending data as raw HTML. For this reason, the endpoint will accept both GET requests with the data in the query or POST requests with the data in the request body.

The API will return a JSON object with two offsets:

KeyTypeValue
html string The HTML body of the email
text string The alternate text body.
error string If there was a fatal processing error, it will be stored here. It will be an empty string if there was no error.
warnings array Non-fatal processing errors
transformations array A list of transformations made. Useful for debugging.
<?php

$url = 'http://assets.euractiv.com/email-tools/builder.php?' . http_build_query(array (
  'api_key' => '-private-',
  'source' => 'http://assets.euractiv.com/email-tools/examples/01-builder/email.html',
));
$result = json_decode(file_get_contents($url), true);

$result now contains:

array (
  'data' => 
  array (
    'subject' => 'Euractiv | The Brief',
    'text' => 'view in browser [1] | unsubscribe [2] Today’s EU policy & news, 25.08....',
    'html' => '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html style="backgrou...',
  ),
  'error' => '',
  'warnings' => 
  array (
    0 => 'Unit "em" is not email safe, converting to px',
    1 => 'Padding is not email safe; merging to margin',
  ),
  'messages' => 
  array (
  ),
)
<pre>
&lt;?php

$url = 'http://assets.euractiv.com/email-tools/builder.php?' . http_build_query(array (
  'api_key' => '-private-',
  'source' => 'http://assets.euractiv.com/email-tools/examples/01-builder/email.html',
));
$result = json_decode(file_get_contents($url), true);

</pre>
<p><code>$result</code> now contains:</p>
<pre>array (
  'data' => 
  array (
    'subject' => 'Euractiv | The Brief',
    'text' => 'view in browser [1] | unsubscribe [2] Today’s EU policy &amp; news, 25.08....',
    'html' => '&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&gt; &lt;html style=&quot;backgrou...',
  ),
  'error' => '',
  'warnings' => 
  array (
    0 => 'Unit &quot;em&quot; is not email safe, converting to px',
    1 => 'Padding is not email safe; merging to margin',
  ),
  'messages' => 
  array (
  ),
)</pre>



Test a page in development


To see what a page you are working on will look like when converted to EMail html, upload it online somewhere and enter the URL below. The app will download and format it, and show you how it displays.

Log in to use the email template tester function.


Limitations and quirks


Inline vs Head styles

Almost all CSS will be applied inline. There are two ways to force CSS rules into style tags in the document head:

  • Add a scoped="scoped" attribute to the style element. These will be preserved as-is, although the scoped attribute will be removed.
  • Wrap the ruleset in a media query. All media queries will be preserved in the document head.

Padding.

Padding does not work reliably in email. If this tool finds any padding declarations, it will be added to the element's margin. To implement pseudo-padding, you need to add a wrapper element and apply the padding to the inner element as margin.


CSS Specificity and !important do not work

CSS rules will be appied in the order they are encountered, not by specificity. For example, consider this ruleset:

.white {background-color: white;}
div {background-color: grey;}

In a browser, an element div.white would have a white background. In this tool, it will have grey background. In practice, this limitation does not cause too many problems since CSS is usually written more or less in order of specificity, but it can be a source of unexpected results.


Table cell margin/padding.

Padding and margin on table cells (td) does not work reliably in email. Cell padding should be set with the cellpadding attribute on the parent table. As a convenience, the application understands a non-standard border-padding css property on tables that will be converted to cellpadding.


Media queries and device targetting

Many devices can be targetted with media queries. Some useful queries include:

/* generic mobile */
@media only screen and (max-device-width: 480px) {}

/* tablets */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {}

/* High density (hdpi) iPhones with retina display */
@media only screen and (-webkit-min-device-pixel-ratio: 2) {}

/* High density (hdpi) android */
@media only screen and (-webkit-device-pixel-ratio:1.5){}

/* Medium density (mdpi) android */
@media only screen and (-webkit-device-pixel-ratio:1){}

/* Low density (ldpi) android */
@media only screen and (-webkit-device-pixel-ratio:.75){}

Targetting Outlook and IE mobile can be done with conditional comments, which will be preserved as-is in the resulting email. A conditional comment would look like:

<--[if {expression}]>
    <style type="text/css">
        /* MS-specific styles here */
    </style>
<![endif]-->

Some useful expressions:

  • [if gte mso 9]: Outlook 2000 and above
  • [if (gte mso 9)&(lte mso 11)]: Outlook 2000-2003, using the IE6 rendering engine.
  • [if (gte mso 12)&(lte mso 15)]: Outlook 2007 and above, using the Microsoft Word rendering engine.
  • [if mso 16]: Outlook 2016 and the mail reader app on Windows Phone 8 and 10.
  • [if IEMobile 7]: Older windows mobile

You must log in to use this resource.

Test a page that you are developing against this email.


View Log Files

5ae2d4fd7f2b3   0.00 |  - Batch
5ae2d4fd7f2b3   0.00 | Started 2018-04-27 09:45 
 batch size: 200 
 end
                     | time: 2018-04-27 09:49
5ae2d4fd7f2b3   0.06 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3   0.12 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  30.12 | Slept 30
5ae2d4fd7f2b3  30.13 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  30.14 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  60.14 | Slept 30
5ae2d4fd7f2b3  60.15 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  60.16 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  90.16 | Slept 30
5ae2d4fd7f2b3  90.17 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3  90.26 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 120.26 | Slept 30
5ae2d4fd7f2b3 120.28 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 120.31 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 150.31 | Slept 30
5ae2d4fd7f2b3 150.32 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 150.33 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 180.33 | Slept 30
5ae2d4fd7f2b3 180.34 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 180.35 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 210.35 | Slept 30
5ae2d4fd7f2b3 210.36 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 210.37 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d4fd7f2b3 240.38 | Slept 30
5ae2d62a93acd   0.00 |  - Batch
5ae2d62a93acd   0.00 | Started 2018-04-27 09:50 
 batch size: 200 
 end
                     | time: 2018-04-27 09:54
5ae2d62a93acd   0.10 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd   0.15 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  30.15 | Slept 30
5ae2d62a93acd  30.15 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  30.16 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  60.16 | Slept 30
5ae2d62a93acd  60.17 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  60.18 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  90.18 | Slept 30
5ae2d62a93acd  90.19 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd  90.27 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 120.27 | Slept 30
5ae2d62a93acd 120.29 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 120.31 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 150.31 | Slept 30
5ae2d62a93acd 150.32 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 150.37 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 180.37 | Slept 30
5ae2d62a93acd 180.38 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 180.47 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 210.47 | Slept 30
5ae2d62a93acd 210.49 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 210.50 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d62a93acd 240.50 | Slept 30
5ae2d7558a9ec   0.00 |  - Batch
5ae2d7558a9ec   0.00 | Started 2018-04-27 09:55 
 batch size: 200 
 end
                     | time: 2018-04-27 09:59
5ae2d7558a9ec   0.03 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec   0.11 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  30.11 | Slept 30
5ae2d7558a9ec  30.12 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  30.21 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  60.21 | Slept 30
5ae2d7558a9ec  60.22 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  60.31 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  90.31 | Slept 30
5ae2d7558a9ec  90.32 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec  90.40 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 120.40 | Slept 30
5ae2d7558a9ec 120.52 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 120.61 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 150.61 | Slept 30
5ae2d7558a9ec 150.62 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 150.63 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 180.63 | Slept 30
5ae2d7558a9ec 180.64 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 180.71 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 210.71 | Slept 30
5ae2d7558a9ec 210.72 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 210.81 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d7558a9ec 240.81 | Slept 30
5ae2d8820b971   0.00 |  - Batch
5ae2d8820b971   0.00 | Started 2018-04-27 10:00 
 batch size: 200 
 end
                     | time: 2018-04-27 10:04
5ae2d8820b971   0.03 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971   5.06 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  35.06 | Slept 30
5ae2d8820b971  36.34 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  36.35 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  37.34 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  37.35 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  38.35 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  38.37 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  39.45 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  39.53 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  40.52 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  40.54 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  41.46 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  41.47 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  42.69 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  42.73 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  43.68 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  43.69 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  45.45 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  45.47 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  46.70 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  46.71 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  47.64 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  47.65 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  48.63 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  48.64 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  49.67 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  49.68 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  50.74 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  50.75 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  52.59 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  52.60 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  53.84 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  53.85 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  54.95 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  54.97 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  55.91 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  55.92 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  57.06 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  57.07 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  58.27 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  58.28 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  59.34 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  59.36 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  60.70 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  60.71 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  61.73 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  61.74 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  62.55 | Sent 140 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  62.56 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  62.57 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  62.59 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  92.59 | Slept 30
5ae2d8820b971  93.45 | Sent 104 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  93.46 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  93.47 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971  93.48 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 123.48 | Slept 30
5ae2d8820b971 124.86 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 124.88 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 125.92 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 125.95 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 126.79 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 126.80 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 127.74 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 127.75 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 128.66 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 128.67 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 129.58 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 129.59 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 130.53 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 130.54 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 131.45 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 131.46 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 132.43 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 132.44 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 133.58 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 133.59 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 134.53 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 134.54 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 135.68 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 135.69 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 136.60 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 136.62 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 137.67 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 137.68 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 138.62 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 138.63 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 139.46 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 139.48 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 140.45 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 140.46 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 141.44 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 141.45 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 142.30 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 142.32 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 143.17 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 143.18 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 144.11 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 144.13 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 145.13 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 145.14 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 146.16 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 146.17 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 147.03 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 147.04 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 147.94 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 147.96 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 148.98 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 148.99 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 149.90 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 149.91 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 151.00 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 151.01 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 151.88 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 151.90 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 152.77 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 152.78 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 153.74 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 153.75 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 154.58 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 154.59 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 155.41 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 155.42 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 156.07 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 156.08 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 157.00 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 157.01 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 157.80 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 157.81 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 158.64 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 158.65 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 159.72 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 159.73 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 160.58 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 160.60 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 161.55 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 161.56 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 162.45 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 162.46 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 163.49 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 163.50 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 164.47 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 164.48 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 165.35 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 165.36 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 166.29 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 166.30 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 167.24 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 167.25 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 168.11 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 168.13 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 168.98 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 168.99 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 169.92 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 169.93 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 170.85 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 170.87 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 171.81 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 171.82 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 172.81 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 172.83 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 173.78 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 173.79 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 174.76 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 174.77 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 175.73 | Sent 200 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 175.74 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 176.35 | Sent 108 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 176.36 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 176.43 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 176.44 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 206.44 | Slept 30
5ae2d8820b971 206.45 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 206.46 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 236.47 | Slept 30
5ae2d8820b971 236.48 | Sent 0 from
                     | http://brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 236.53 | Sent 0 from
                     | http://dev.brief.euractiv.eu/endpoints/outbox.php?api_key=Uj1chaib
5ae2d8820b971 266.53 | Slept 30

Configuration

Configuration is located in the file /config/email-tools.php. If you do not have the ability to modify this file, contact your administrator to have options changed. The configuration file should contain an array with the name $config containing the following offsets:

NameTypeDescriptionCurrent Setting
email_tools_test_addressstringSend test emails hereLogin to view this setting
email_tools_process_limitintegerNumber of seconds the processing service should run before shutting down
240
email_tools_pull_urlsarrayURLs to pull emails fromLogin to view this setting
callmap_driverstringThe callmap driver to use, either "sqlite", "fsstore" or "noop"
noop
callmap_labelsarrayLabels for the callmap, where the key is the regular expression to match and the value is the label to useLogin to view this setting
callmap_visualize_defaultarrayNodes to visualize by defaultLogin to view this setting
callmap_probabilityintegerProbability that a given hit will log. Important for high traffic sites. Set higher for lower probability.
1000
http_allowed_domainsarrayAllowed domains for fetching assets or generating URLsLogin to view this setting
http_allowed_urlsarraySpecified URLs or regular expressions of specified URLs match for fetching assets or generating URLsLogin to view this setting
http_connect_timeoutintegerThe amount of time, in seconds, that cURL should wait before returning an error status. 15 is a good value for most cases.
15
api_keystringThe key to access protected API calls. This key should only be used in server-to-server communication to avoid exposing it to the broader internet. In requests, the key can be set in the query as the "api_key" value (eg http://example.com?api_key=keyboard_cat), in a POST request body as the "api_key" value, or as a header with the name "X-Vsac-Api-Key".Login to view this setting
emailer_driverstringThe emailer driver to useLogin to view this setting
emailer_batch_sizeintegerThe size of batches to send emails in. Depending on the service provider, you may be able to send larger or smaller requests. The bigger your emails (esp number of attachments), the smaller this number should be. 200 is usually a good valueLogin to view this setting
emailer_cooloffintegerThe time (in seconds) to wait between sending batches. This is to allow you to stay within service provider throttlesLogin to view this setting
emailer_default_from_namestringThe default "from" nameLogin to view this setting
emailer_default_from_addrstringThe default "from" addressLogin to view this setting
emailer_default_reply_tostringThe default "reply to" addressLogin to view this setting
emailer_mandrill_pathstringPath to the Mandrill PHP libraryLogin to view this setting
emailer_mandrill_api_keystringYour Mandrill API KeyLogin to view this setting
log_per_fileintegerThe number of entries to keep in a log file before rotating it
100
log_keep_filesintegerThe number of log files to keep before deleting
10
shortener_driverstringThe driver for the shortener, can be one of "bitly", "eurac" or "noshorten"
eurac
shortener_base_urlstringThe base URL for the shortener
http://eurac.tv
shortener_api_keystringThe API key for the shortenerLogin to view this setting
shortener_passthru_query_varsarrayQuery variables to leave in the URL, for example to prevent the creation of millions of URLs with unique ids, or to prevent sensitive information from being saved in the shortener.Login to view this setting