Metadata-Version: 2.1
Name: mittepro-py
Version: 1.0.0
Summary: MittePro is a powerful marketing tool with features to help companies with their marketing goals and deliver emails from their websites and apps.
Author-email: Thiago Cardoso de Castro <thiago.dsn.cir@alterdata.com.br>
License: Apache-2.0
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: six>=1.12.0
Requires-Dist: arrow>=0.12.1
Requires-Dist: requests<2.50.0,>=2.24.0
Requires-Dist: simplejson>=3.16.0
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"

Client service, to send simple text emails or, using a template created at MittePro, send more complex emails.

In order to use this library, you must create an account in MittePro.

** **It is not currently possible to create an account in MittePro, but will soon be** **

How to install:

    pip install mittepro-py

Note: the install name is `mittepro-py`, but the import name stays `mittepro`:

    from mittepro.client import MittePro

Follow the examples below to send simple emails or emails with templates:

**Simple Emails:**

    from mittepro.models import Mail
    from mittepro.client import MittePro

    mittepro = MittePro(key='<your_account_public_key>', secret='<your_account_secret_key>')

    def send(self):
        mail = Mail(
            recipient_list=[
                'Foo Bar <foo.bar@gmail.com>',
                'Fulano <fulano@gmail.com>',
                '<ciclano@gmail.com>'
            ],
            message="Just a Test, delete if you want.",
            from_='Beutrano <beutrano@mail.com>',
            subject="Just a test"
        )
        response = mittepro.send(mail)

**Template Emails:**

    from mittepro.models import Mail
    from mittepro.client import MittePro

    mittepro = MittePro(key='<your_account_public_key>', secret='<your_account_secret_key>')

    def send(self):
        mail = Mail(
            recipient_list=[
                'Foo Bar <foo.bar@gmail.com>',
                'Fulano <fulano@gmail.com>',
                '<ciclano@gmail.com>'
            ],
            from_='Beutrano <beutrano@mail.com>',
            template_slug='test-101',
            context={'foobar': True},
            context_per_recipient={
                "foo.bar@gmail.com": {"foo": True},
                "fulano@gmail.com.br": {"bar": True}
            },
            use_tpl_default_subject=True,
            use_tpl_default_email=False,
            use_tpl_default_name=False
        )
        response = mittepro.send_template(mail)

**Mail Parameters:**

Parameter | Type | Required | Description
------------ | ------------ |------------- | -------------
recipient_list | List | Yes | List of all the recipients. The expected format is 'Name `<email>`' or '`<email>`'.
subject | String | Yes* | The subject of the email. *In case your sending an email with template and pass `use_tpl_default_subject` as `True` then you don't need to pass the `subject`.
message_text | String | Yes* | The `message` of the email on text format. *Only Required if your gonna send a simple text email.
message_html | String | No | The `message` of the email on html format. *If pass this then you don't need to pass the `template_slug`
tags | Dict/List | No | The `tags` must be an dictionary containing keys and simple values or an list with strings.
from_ | String | No* | The email of the sender. The expected format is 'Name `<email>`' or '`<email>`'. *In case your sending an email with template and pass `use_template_email` as `true` then you don't need to pass this parameter.
from_email | String | Yes* | The email of the sender. *In case your sending an email with template and pass `use_tpl_default_email` as `True` then you don't need to pass the `from_email`.
template_slug | String | No | The `template_slug` is the slug of the template. *Just pass this if your gonna send a email with template.
use_tpl_default_name | Bool | No* | If set to `True` it use the default value set to the sender's name.
use_tpl_default_email | Bool | No* | If set to `True` it use the default value set to the sender's email.
use_tpl_default_subject | Bool | No* | If set to `True` it use the default value set to the subject.
expose_recipients_list | Bool | No* | If set to `True` every recipient will see the entire list of recipients.
get_text_from_html | Bool | No* | If set to `True` mittepro will extract from your html template an text version. This will only happen if your template doesn't already have an text version.
activate_tracking | Bool | No* | If set to `True` mittepro will track if your email will be open and how many times. Also it will track any links clicked inside the email.
context | Dict | No | Global variables use in the Template. The format is expressed in the example (above).
context_per_recipient | Dict | No | Variables set for each recipient. The format is expressed in the example (above).

**Client Parameters:**

Parameter | Type | Required | Description
------------ | ------------ |------------- | -------------
key | String | Yes | Your account's public key in the MittePro.
secret | String | Yes | Your account's private key in the MittePro.
fail_silently | Bool | No | If set to `True` the lib will raise it's exceptions. Default `False`.
