Skip to content

Commit 7a16b9e

Browse files
committed
Docs: Update capitalization of "Sendinblue"
Sendinblue dropped the inner-cap ("SendinBlue") from their brand sometime between September 2018 and March 2019. Update Anymail's docs to consistently use the new spelling. (But don't change any code, which has existing string constants using the old spelling.)
1 parent 2a36da5 commit 7a16b9e

File tree

3 files changed

+48
-48
lines changed

3 files changed

+48
-48
lines changed

CHANGELOG.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ v7.0
4848
Breaking changes
4949
~~~~~~~~~~~~~~~~
5050

51-
* **SendinBlue templates:** Support Sendinblue's new (ESP stored) Django templates and
51+
* **Sendinblue templates:** Support Sendinblue's new (ESP stored) Django templates and
5252
new API for template sending. This removes most of the odd limitations in the older
5353
(now-deprecated) SendinBlue template send API, but involves two breaking changes:
5454

@@ -70,7 +70,7 @@ Features
7070
See `docs <https://anymail.readthedocs.io/en/stable/esps/mailgun/#batch-sending-merge-and-esp-templates>`__.
7171
(Thanks `@anstosa`_.)
7272

73-
* **SendinBlue:** Support multiple `tags`. (Thanks `@Thorbenl`_.)
73+
* **Sendinblue:** Support multiple `tags`. (Thanks `@Thorbenl`_.)
7474

7575

7676
Other

docs/esps/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The table below summarizes the Anymail features supported for each ESP.
3232
.. rst-class:: sticky-left
3333

3434
============================================ ============ =========== ========== =========== ========== ========== ============ ===========
35-
Email Service Provider |Amazon SES| |Mailgun| |Mailjet| |Mandrill| |Postmark| |SendGrid| |SendinBlue| |SparkPost|
35+
Email Service Provider |Amazon SES| |Mailgun| |Mailjet| |Mandrill| |Postmark| |SendGrid| |Sendinblue| |SparkPost|
3636
============================================ ============ =========== ========== =========== ========== ========== ============ ===========
3737
.. rubric:: :ref:`Anymail send options <anymail-send-options>`
3838
---------------------------------------------------------------------------------------------------------------------------------------------------
@@ -72,7 +72,7 @@ meaningless. (And even specific features don't matter if you don't plan to use t
7272
.. |Mandrill| replace:: :ref:`mandrill-backend`
7373
.. |Postmark| replace:: :ref:`postmark-backend`
7474
.. |SendGrid| replace:: :ref:`sendgrid-backend`
75-
.. |SendinBlue| replace:: :ref:`sendinblue-backend`
75+
.. |Sendinblue| replace:: :ref:`sendinblue-backend`
7676
.. |SparkPost| replace:: :ref:`sparkpost-backend`
7777
.. |AnymailTrackingEvent| replace:: :class:`~anymail.signals.AnymailTrackingEvent`
7878
.. |AnymailInboundEvent| replace:: :class:`~anymail.signals.AnymailInboundEvent`

docs/esps/sendinblue.rst

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
.. _sendinblue-backend:
22

3-
SendinBlue
3+
Sendinblue
44
==========
55

6-
Anymail integrates with the `SendinBlue`_ email service, using their `API v3`_.
7-
SendinBlue's transactional API does not support some basic email features, such as
6+
Anymail integrates with the `Sendinblue`_ email service, using their `API v3`_.
7+
Sendinblue's transactional API does not support some basic email features, such as
88
inline images. Be sure to review the :ref:`limitations <sendinblue-limitations>` below.
99

1010
.. important::
1111

1212
**Troubleshooting:**
13-
If your SendinBlue messages aren't being delivered as expected, be sure to look for
14-
events in your SendinBlue `logs`_.
13+
If your Sendinblue messages aren't being delivered as expected, be sure to look for
14+
events in your Sendinblue `logs`_.
1515

16-
SendinBlue detects certain types of errors only *after* the send API call reports
16+
Sendinblue detects certain types of errors only *after* the send API call reports
1717
the message as "queued." These errors appear in the logging dashboard.
1818

19-
.. _SendinBlue: https://www.sendinblue.com/
19+
.. _Sendinblue: https://www.sendinblue.com/
2020
.. _API v3: https://developers.sendinblue.com/docs
2121
.. _logs: https://app-smtp.sendinblue.com/log
2222

@@ -26,7 +26,7 @@ Settings
2626

2727
.. rubric:: EMAIL_BACKEND
2828

29-
To use Anymail's SendinBlue backend, set:
29+
To use Anymail's Sendinblue backend, set:
3030

3131
.. code-block:: python
3232
@@ -39,7 +39,7 @@ in your settings.py.
3939

4040
.. rubric:: SENDINBLUE_API_KEY
4141

42-
The API key can be retrieved from your SendinBlue `SMTP & API settings`_.
42+
The API key can be retrieved from your Sendinblue `SMTP & API settings`_.
4343
Make sure the version column indicates "v3." (v2 keys don't work with
4444
Anymail. If you don't see a v3 key listed, use "Create a New API Key".)
4545
Required.
@@ -62,7 +62,7 @@ nor ``ANYMAIL_SENDINBLUE_API_KEY`` is set.
6262

6363
.. rubric:: SENDINBLUE_API_URL
6464

65-
The base url for calling the SendinBlue API.
65+
The base url for calling the Sendinblue API.
6666

6767
The default is ``SENDINBLUE_API_URL = "https://api.sendinblue.com/v3/"``
6868
(It's unlikely you would need to change this.)
@@ -73,17 +73,17 @@ The default is ``SENDINBLUE_API_URL = "https://api.sendinblue.com/v3/"``
7373
esp_extra support
7474
-----------------
7575

76-
To use SendinBlue features not directly supported by Anymail, you can
76+
To use Sendinblue features not directly supported by Anymail, you can
7777
set a message's :attr:`~anymail.message.AnymailMessage.esp_extra` to
78-
a `dict` that will be merged into the json sent to SendinBlue's
78+
a `dict` that will be merged into the json sent to Sendinblue's
7979
`smtp/email API`_.
8080

8181
Example:
8282

8383
.. code-block:: python
8484
8585
message.esp_extra = {
86-
'hypotheticalFutureSendinBlueParam': '2022', # merged into send params
86+
'hypotheticalFutureSendinblueParam': '2022', # merged into send params
8787
}
8888
8989
@@ -98,59 +98,59 @@ to apply it to all messages.)
9898
Limitations and quirks
9999
----------------------
100100

101-
SendinBlue's v3 API has several limitations. In most cases below,
101+
Sendinblue's v3 API has several limitations. In most cases below,
102102
Anymail will raise an :exc:`~anymail.exceptions.AnymailUnsupportedFeature`
103103
error if you try to send a message using missing features. You can
104104
override this by enabling the :setting:`ANYMAIL_IGNORE_UNSUPPORTED_FEATURES`
105105
setting, and Anymail will try to limit the API request to features
106-
SendinBlue can handle.
106+
Sendinblue can handle.
107107

108108
**HTML body required**
109-
SendinBlue's API returns an error if you attempt to send a message with
109+
Sendinblue's API returns an error if you attempt to send a message with
110110
only a plain-text body. Be sure to :ref:`include HTML <sending-html>`
111111
content for your messages if you are not using a template.
112112

113-
(SendinBlue *does* allow HTML without a plain-text body. This is generally
113+
(Sendinblue *does* allow HTML without a plain-text body. This is generally
114114
not recommended, though, as some email systems treat HTML-only content as a
115115
spam signal.)
116116

117117
**Inline images**
118-
SendinBlue's v3 API doesn't support inline images, at all.
119-
(Confirmed with SendinBlue support Feb 2018.)
118+
Sendinblue's v3 API doesn't support inline images, at all.
119+
(Confirmed with Sendinblue support Feb 2018.)
120120

121121
If you are ignoring unsupported features, Anymail will try to send
122122
inline images as ordinary image attachments.
123123

124124
**Attachment names must be filenames with recognized extensions**
125-
SendinBlue determines attachment content type by assuming the attachment's
125+
Sendinblue determines attachment content type by assuming the attachment's
126126
name is a filename, and examining that filename's extension (e.g., ".jpg").
127127

128128
Trying to send an attachment without a name, or where the name does not end
129-
in a supported filename extension, will result in a SendinBlue API error.
129+
in a supported filename extension, will result in a Sendinblue API error.
130130
Anymail has no way to communicate an attachment's desired content-type
131-
to the SendinBlue API if the name is not set correctly.
131+
to the Sendinblue API if the name is not set correctly.
132132

133133
**Single Reply-To**
134-
SendinBlue's v3 API only supports a single Reply-To address.
134+
Sendinblue's v3 API only supports a single Reply-To address.
135135

136136
If you are ignoring unsupported features and have multiple reply addresses,
137137
Anymail will use only the first one.
138138

139139
**Metadata**
140-
Anymail passes :attr:`~anymail.message.AnymailMessage.metadata` to SendinBlue
140+
Anymail passes :attr:`~anymail.message.AnymailMessage.metadata` to Sendinblue
141141
as a JSON-encoded string using their :mailheader:`X-Mailin-custom` email header.
142142
The metadata is available in tracking webhooks.
143143

144144
**No delayed sending**
145-
SendinBlue does not support :attr:`~anymail.message.AnymailMessage.send_at`.
145+
Sendinblue does not support :attr:`~anymail.message.AnymailMessage.send_at`.
146146

147147
**No click-tracking or open-tracking options**
148-
SendinBlue does not provide a way to control open or click tracking for individual
148+
Sendinblue does not provide a way to control open or click tracking for individual
149149
messages. Anymail's :attr:`~anymail.message.AnymailMessage.track_clicks` and
150150
:attr:`~anymail.message.AnymailMessage.track_opens` settings are unsupported.
151151

152152
**No envelope sender overrides**
153-
SendinBlue does not support overriding :attr:`~anymail.message.AnymailMessage.envelope_sender`
153+
Sendinblue does not support overriding :attr:`~anymail.message.AnymailMessage.envelope_sender`
154154
on individual messages.
155155

156156

@@ -159,37 +159,37 @@ SendinBlue can handle.
159159
Batch sending/merge and ESP templates
160160
-------------------------------------
161161

162-
SendinBlue supports :ref:`ESP stored templates <esp-stored-templates>` populated with
162+
Sendinblue supports :ref:`ESP stored templates <esp-stored-templates>` populated with
163163
global merge data for all recipients, but does not offer :ref:`batch sending <batch-send>`
164164
with per-recipient merge data. Anymail's :attr:`~anymail.message.AnymailMessage.merge_data`
165165
and :attr:`~anymail.message.AnymailMessage.merge_metadata` message attributes are not
166-
supported with the SendinBlue backend, but you can use Anymail's
167-
:attr:`~anymail.message.AnymailMessage.merge_global_data` with SendinBlue templates.
166+
supported with the Sendinblue backend, but you can use Anymail's
167+
:attr:`~anymail.message.AnymailMessage.merge_global_data` with Sendinblue templates.
168168

169-
SendinBlue supports two different template styles: a `new template language`_
169+
Sendinblue supports two different template styles: a `new template language`_
170170
that uses Django template syntax (with ``{{ param.NAME }}`` style substitutions),
171171
and an "old" template language that used percent-delimited ``%NAME%`` style
172172
substitutions. Anymail v7.0 and later require new style templates.
173173

174174
.. versionchanged:: 7.0
175175

176-
Anymail switched to a SendinBlue API that supports the new template language
176+
Anymail switched to a Sendinblue API that supports the new template language
177177
and removes several limitations from the earlier template send API. But the new API
178178
does not support attachments, and can behave oddly if used with old style templates.
179179

180180
.. caution::
181181

182182
Anymail v7.0 and later work *only* with Sendinblue's *new* template language. You should
183-
follow SendinBlue's instructions to `convert each old template`_ to the new language.
183+
follow Sendinblue's instructions to `convert each old template`_ to the new language.
184184

185185
Although unconverted old templates may appear to work with Anymail v7.0, some
186186
features may not work properly. In particular, ``reply_to`` overrides and recipient
187187
display names are silently ignored when *old* style templates are sent with the
188188
*new* API used in Anymail v7.0.
189189

190-
To use a SendinBlue template, set the message's
190+
To use a Sendinblue template, set the message's
191191
:attr:`~anymail.message.AnymailMessage.template_id` to the numeric
192-
SendinBlue template ID, and supply substitution attributes using
192+
Sendinblue template ID, and supply substitution attributes using
193193
the message's :attr:`~anymail.message.AnymailMessage.merge_global_data`:
194194

195195
.. code-block:: python
@@ -199,15 +199,15 @@ the message's :attr:`~anymail.message.AnymailMessage.merge_global_data`:
199199
# ...multiple to emails would all get the same message
200200
# (and would all see each other's emails in the "to" header)
201201
)
202-
message.template_id = 3 # use this SendinBlue template
202+
message.template_id = 3 # use this Sendinblue template
203203
message.from_email = None # to use the template's default sender
204204
message.merge_global_data = {
205205
'name': "Alice",
206206
'order_no': "12345",
207207
'ship_date': "May 15",
208208
}
209209
210-
Within your SendinBlue template body and subject, you can refer to merge
210+
Within your Sendinblue template body and subject, you can refer to merge
211211
variables using Django template syntax, like ``{{ params.order_no }}`` or
212212
``{{ params.ship_date }}`` for the example above.
213213

@@ -233,7 +233,7 @@ Status tracking webhooks
233233
------------------------
234234

235235
If you are using Anymail's normalized :ref:`status tracking <event-tracking>`, add
236-
the url at SendinBlue's site under `Transactional > Settings > Webhook`_.
236+
the url at Sendinblue's site under `Transactional > Settings > Webhook`_.
237237

238238
The "URL to call" is:
239239

@@ -243,23 +243,23 @@ The "URL to call" is:
243243
* *yoursite.example.com* is your Django site
244244

245245
Be sure to select the checkboxes for all the event types you want to receive. (Also make
246-
sure you are in the "Transactional" section of their site; SendinBlue has a separate set
246+
sure you are in the "Transactional" section of their site; Sendinblue has a separate set
247247
of "Campaign" webhooks, which don't apply to messages sent through Anymail.)
248248

249-
If you are interested in tracking opens, note that SendinBlue has both a "First opening"
249+
If you are interested in tracking opens, note that Sendinblue has both a "First opening"
250250
and an "Opened" event type, and will generate both the first time a message is opened.
251251
Anymail normalizes both of these events to "opened." To avoid double counting, you should
252252
only enable one of the two.
253253

254-
SendinBlue will report these Anymail :attr:`~anymail.signals.AnymailTrackingEvent.event_type`\s:
254+
Sendinblue will report these Anymail :attr:`~anymail.signals.AnymailTrackingEvent.event_type`\s:
255255
queued, rejected, bounced, deferred, delivered, opened (see note above), clicked, complained,
256256
unsubscribed, subscribed (though this should never occur for transactional email).
257257

258-
For events that occur in rapid succession, SendinBlue frequently delivers them out of order.
258+
For events that occur in rapid succession, Sendinblue frequently delivers them out of order.
259259
For example, it's not uncommon to receive a "delivered" event before the corresponding "queued."
260260

261261
The event's :attr:`~anymail.signals.AnymailTrackingEvent.esp_event` field will be
262-
a `dict` of raw webhook data received from SendinBlue.
262+
a `dict` of raw webhook data received from Sendinblue.
263263

264264

265265
.. _Transactional > Settings > Webhook: https://app-smtp.sendinblue.com/webhook
@@ -270,4 +270,4 @@ a `dict` of raw webhook data received from SendinBlue.
270270
Inbound webhook
271271
---------------
272272

273-
SendinBlue does not support inbound email handling.
273+
Sendinblue does not support inbound email handling.

0 commit comments

Comments
 (0)