-
39mailgun/README.rst
-
2mailgun/__init__.py
-
34mailgun/__manifest__.py
-
1mailgun/controllers/__init__.py
-
16mailgun/controllers/main.py
-
15mailgun/data/ir_cron_data.xml
-
10mailgun/doc/changelog.rst
-
93mailgun/doc/index.rst
-
29mailgun/i18n/es.po
-
BINmailgun/images/mailgun_main.png
-
2mailgun/models/__init__.py
-
33mailgun/models/ir_config_parameter.py
-
22mailgun/models/mail_thread.py
-
BINmailgun/static/description/icon.png
-
334mailgun/static/description/index.html
-
BINmailgun/static/description/mailgun_add_domain.png
-
BINmailgun/static/description/mailgun_auth_recipients.png
-
BINmailgun/static/description/mailgun_auth_recipients_form.png
-
BINmailgun/static/description/mailgun_domain_details.png
-
BINmailgun/static/description/mailgun_odoo_general.png
-
BINmailgun/static/description/mailgun_odoo_mail_alias.png
-
BINmailgun/static/description/mailgun_odoo_outgoing.png
-
BINmailgun/static/description/mailgun_odoo_partner_email.png
-
BINmailgun/static/description/mailgun_odoo_sys_param.png
-
BINmailgun/static/description/mailgun_route.png
-
BINmailgun/static/description/mailgun_route_form.png
@ -1,39 +0,0 @@ |
|||
.. image:: https://itpp.dev/images/infinity-readme.png |
|||
:alt: Tested and maintained by IT Projects Labs |
|||
:target: https://itpp.dev |
|||
|
|||
.. image:: https://img.shields.io/badge/license-MIT-blue.svg |
|||
:target: https://opensource.org/licenses/MIT |
|||
:alt: License: MIT |
|||
|
|||
========= |
|||
Mailgun |
|||
========= |
|||
|
|||
The module allows to receive incoming messages or send them to clients who uses external mail services (e.g. gmail.com) by using Mailgun. |
|||
There is no IMAP or POP3 servers on mailgun that is to be used with odoo. |
|||
That is why we need this module. It fetches messages from mailgun using their API and stores them in odoo. |
|||
|
|||
TODO |
|||
==== |
|||
|
|||
* If emails are sent when odoo is stopped then Mailgun will retry (other than for delivery notification) during 8 hours at the following intervals before stop trying: 10 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 hour and 4 hours. This could be fixed by fetching undelivered messages after odoo starts. |
|||
|
|||
Questions? |
|||
========== |
|||
|
|||
To get an assistance on this module contact us by email :arrow_right: help@itpp.dev |
|||
|
|||
Contributors |
|||
============ |
|||
* Ildar Nasyrov <Nasyrov@it-projects.info> |
|||
* Ivan Yelizariev <yelizariev@it-projects.info> |
|||
|
|||
=================== |
|||
|
|||
Odoo Apps Store: https://apps.odoo.com/apps/modules/11.0/mailgun/ |
|||
|
|||
|
|||
Notifications on updates: `via Atom <https://github.com/it-projects-llc/mail-addons/commits/11.0/mailgun.atom>`_, `by Email <https://blogtrottr.com/?subscribe=https://github.com/it-projects-llc/mail-addons/commits/11.0/malgun.atom>`_ |
|||
|
|||
Tested on `Odoo 11.0 <https://github.com/odoo/odoo/commit/dc61861f90d15797b19f8ebddfb0c8a66d0afa88>`_ |
@ -1,2 +0,0 @@ |
|||
from . import controllers |
|||
from . import models |
@ -1,34 +0,0 @@ |
|||
# Copyright 2018 Ildar Nasyrov <https://it-projects.info/team/iledarn> |
|||
# License MIT (https://opensource.org/licenses/MIT). |
|||
{ |
|||
"name": """Mailgun""", |
|||
"summary": """Setup the outgoing and incoming mail flow easily by using Mailgun""", |
|||
"category": "Discuss", |
|||
# "live_test_url": "http://apps.it-projects.info/shop/product/mailgun?version=11.0", |
|||
"images": ["images/mailgun_main.png"], |
|||
"version": "13.0.1.1.0", |
|||
"application": False, |
|||
"author": "IT-Projects LLC, Ildar Nasyrov", |
|||
"support": "apps@itpp.dev", |
|||
"website": "https://itpp.dev", |
|||
"license": "Other OSI approved licence", # MIT |
|||
"price": 195.00, |
|||
"currency": "EUR", |
|||
"depends": ["mail"], |
|||
"external_dependencies": {"python": [], "bin": []}, |
|||
"data": ["data/ir_cron_data.xml"], |
|||
"demo": [], |
|||
"qweb": [], |
|||
"post_load": None, |
|||
"pre_init_hook": None, |
|||
"post_init_hook": None, |
|||
"uninstall_hook": None, |
|||
"auto_install": False, |
|||
"installable": False, |
|||
"demo_title": "Mailgun", |
|||
"demo_addons": [], |
|||
"demo_addons_hidden": [], |
|||
"demo_url": "mailgun", |
|||
"demo_summary": "Easy to send outgoing and fetch incoming messages by using Mailgun", |
|||
"demo_images": ["images/mailgun_main.png"], |
|||
} |
@ -1 +0,0 @@ |
|||
from . import main |
@ -1,16 +0,0 @@ |
|||
import re |
|||
|
|||
from odoo import http |
|||
from odoo.http import request |
|||
|
|||
|
|||
class MailMailgun(http.Controller): |
|||
@http.route("/mailgun/notify", auth="public", type="http", csrf=False) |
|||
def mailgun_notify(self, **kw): |
|||
# mailgun notification in json format |
|||
message_url = kw.get("message-url") |
|||
if not re.match("^https://[^/]*api.mailgun.net/", message_url): |
|||
# simple security check failed |
|||
raise Exception("wrong message-url") |
|||
request.env["mail.thread"].sudo().mailgun_fetch_message(message_url) |
|||
return "ok" |
@ -1,15 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<openerp> |
|||
<data noupdate="1"> |
|||
<record id="mailgun_domain_verification" model="ir.cron"> |
|||
<field name="name">Mailgun - domain verification request</field> |
|||
<field name="model_id" ref="model_ir_config_parameter" /> |
|||
<field name="interval_number">10</field> |
|||
<field name="interval_type">minutes</field> |
|||
<field name="numbercall">10</field> |
|||
<field name="state">code</field> |
|||
<field name="code">model.mailgun_verify()</field> |
|||
<field name="doall" eval="True" /> |
|||
</record> |
|||
</data> |
|||
</openerp> |
@ -1,10 +0,0 @@ |
|||
`1.1.0` |
|||
------- |
|||
|
|||
- ADD: automatic domain verification |
|||
|
|||
------- |
|||
`1.0.0` |
|||
------- |
|||
|
|||
- Init version |
@ -1,93 +0,0 @@ |
|||
========= |
|||
Mailgun |
|||
========= |
|||
|
|||
Installation |
|||
============ |
|||
|
|||
* `Install <https://odoo-development.readthedocs.io/en/latest/odoo/usage/install-module.html>`__ this module in a usual way |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
Mailgun-side |
|||
------------ |
|||
|
|||
* register or log in http://mailgun.com |
|||
* Open menu ``[[ Domains ]]`` and click on your domain, e.g. ``sandbox123*****.mailgun.org`` domain. Here you can see all the information needed to configure odoo outgoing mail feature |
|||
* Please note that state of your domain should be ``Active`` before you can use it. If it is ``Unverified``, verify it first using Mailgun FAQ - `How do I verify my domain <https://help.mailgun.com/hc/en-us/articles/202052074-How-do-I-verify-my-domain->`__ |
|||
* if you are using your sandbox domain, add Authorized Recipient first (Sandbox domains are restricted to `authorized recipients <https://help.mailgun.com/hc/en-us/articles/217531258>`__ only) |
|||
* create new Route |
|||
|
|||
* Open menu ``[[ Routes ]]`` |
|||
* Click ``[Create Route]`` button |
|||
|
|||
* **Expression Type** - ``Custom`` |
|||
* **Raw Expression** - ``match_recipient('.*@<your mail domain>')`` |
|||
* **Actions** - ``Store and notify``, ``http://<your odoo domain>/mailgun/notify`` |
|||
|
|||
Odoo-side |
|||
--------- |
|||
|
|||
* `Activate Developer Mode <https://odoo-development.readthedocs.io/en/latest/odoo/usage/debug-mode.html>`__ |
|||
* Configure **Outgoung mail server** |
|||
|
|||
* Open menu ``[[ Settings ]] >> Technical >> Email >> Outgoing Mail Servers`` |
|||
* Edit ``localhost`` record or create new one with the following: |
|||
|
|||
* **Description** - ``Mailgun`` |
|||
* **SMTP Server** - take from Mailgun **SMTP Hostname** (usually, it is ``smtp.mailgun.org``) |
|||
* **Connection Security** - ``SSL/TLS`` |
|||
* **Username** - take from Mailgun **Default SMTP Login** |
|||
* **Password** - take from Mailgun **Default Password** |
|||
* Click ``[Test Connection]`` button to check the connection and then ``[Save]`` |
|||
|
|||
* Configure **Incoming mail feature** |
|||
|
|||
* Configure catchall domain |
|||
|
|||
* Open menu ``Settings / General Settings``, check **External Email Servers** and edit **Alias Domain** - set it from Mailgun **Domain Name** |
|||
* Click ``[Save]`` button |
|||
|
|||
* Set Mailgun API credentials |
|||
|
|||
* Open menu ``[[ Settings ]] >> Parameters >> System Parameters`` |
|||
* Create new parameter |
|||
|
|||
* key: ``mailgun.apikey`` |
|||
* Value: API Key from mailgun (``key-...``) |
|||
* Click ``[Save]`` button |
|||
|
|||
* Configure mail aliases and emails for users |
|||
|
|||
* Open menu ``[[ Settings ]] >> Users >> Users`` |
|||
* Select the ``Administrator`` user (for example, you should configure all your users the same way but using different aliases) and click ``[Edit]`` |
|||
* On Preference tab edit **Alias** field - create new mail alias, e.g. ``admin@<you mail domain>`` with the following settings |
|||
|
|||
* **Alias Name** - ``admin`` |
|||
* **Aliased Model** - ``Users`` |
|||
* **Record Thread ID** - ``1`` |
|||
* **Default Values** - ``{}`` |
|||
* **Alias Contact** - ``Everyone`` |
|||
* **Security Owner** - ``Administrator`` |
|||
* **Parent Model** - Not set |
|||
* **Parent Record Thread ID** - ``0`` |
|||
|
|||
* Open user's **Related Partner** and edit **Email** field - usually it should be the same as mail alias name (``admin@<you mailgun domain`` for ``Administrator``) - this would be an address for replying user's messages |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
Outgoing |
|||
-------- |
|||
|
|||
* Open menu ``[[ Settings ]]>> Email >> Emails`` to create a message |
|||
* Click ``[Send Now]`` button |
|||
* RESULT: receive the message in your mail client (e.g. on gmail.com) |
|||
|
|||
Incoming |
|||
-------- |
|||
|
|||
* Create new message from your mail client to e.g. ``admin@<you mailgun domain>`` |
|||
* Open menu ``[[ Discuss ]]`` in Odoo |
|||
* RESULT: See your message there |
@ -1,29 +0,0 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * mailgun |
|||
# |
|||
# Translators: |
|||
# Randall Castro <rcastro@treintaycinco.com>, 2018 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 10.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2017-12-19 16:49+0000\n" |
|||
"PO-Revision-Date: 2017-12-19 16:49+0000\n" |
|||
"Last-Translator: Randall Castro <rcastro@treintaycinco.com>, 2018\n" |
|||
"Language-Team: Spanish (https://www.transifex.com/it-projects-llc/teams/76080/es/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: es\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: mailgun |
|||
#: model:ir.model,name:mailgun.model_mail_thread |
|||
msgid "Email Thread" |
|||
msgstr "Hilo de correo electrónico" |
|||
|
|||
#. module: mailgun |
|||
#: model:ir.model,name:mailgun.model_ir_config_parameter |
|||
msgid "ir.config_parameter" |
|||
msgstr "ir.config_parameter" |
Before Width: 750 | Height: 371 | Size: 384 KiB |
@ -1,2 +0,0 @@ |
|||
from . import mail_thread |
|||
from . import ir_config_parameter |
@ -1,33 +0,0 @@ |
|||
import logging |
|||
|
|||
import requests |
|||
|
|||
from odoo import api, models |
|||
|
|||
try: |
|||
import simplejson as json |
|||
except ImportError: |
|||
import json |
|||
|
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
|
|||
class IrConfigParameter(models.Model): |
|||
_inherit = ["ir.config_parameter"] |
|||
|
|||
@api.model |
|||
def mailgun_verify(self): |
|||
verified = self.sudo().get_param("mailgun.verified") |
|||
if verified: |
|||
return |
|||
api_key = self.sudo().get_param("mailgun.apikey") |
|||
mail_domain = self.sudo().get_param("mail.catchall.domain") |
|||
if api_key and mail_domain: |
|||
url = "https://api.mailgun.net/v3/domains/%s/verify" % mail_domain |
|||
res = requests.put(url, auth=("api", api_key)) |
|||
if ( |
|||
res.status_code == 200 |
|||
and json.loads(res.text)["domain"]["state"] == "active" |
|||
): |
|||
self.sudo().set_param("mailgun.verified", "1") |
@ -1,22 +0,0 @@ |
|||
import logging |
|||
|
|||
import requests |
|||
|
|||
from odoo import api, models |
|||
|
|||
_logger = logging.getLogger(__name__) |
|||
|
|||
|
|||
class MailThread(models.AbstractModel): |
|||
_inherit = "mail.thread" |
|||
|
|||
@api.model |
|||
def mailgun_fetch_message(self, message_url): |
|||
api_key = self.env["ir.config_parameter"].sudo().get_param("mailgun.apikey") |
|||
res = requests.get( |
|||
message_url, |
|||
headers={"Accept": "message/rfc2822"}, |
|||
auth=("api", api_key), |
|||
verify=False, |
|||
) |
|||
self.message_process(False, res.json().get("body-mime")) |
Before Width: 100 | Height: 100 | Size: 2.1 KiB |
@ -1,334 +0,0 @@ |
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12"> |
|||
<h2 class="oe_slogan" style="color:#875A7B;">Mailgun</h2> |
|||
<h3 class="oe_slogan">Easy to setup the outgoing and incoming mail flow</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<div class="alert alert-success" style="padding:0.3em 0.6em; font-size: 150%;"> |
|||
The module provides Odoo and Mailgun integration to be able to easily configure <em>Outgoing</em> and <em>Incoming</em> mail flow. |
|||
<div style="margin-top:2%;"> |
|||
From Mailgun side you get: |
|||
<ul style="padding-left: 1.6em;"> |
|||
<li style="margin-top: 0.3em;"> |
|||
Powerful Sending Infrastructure |
|||
</li> |
|||
<li> |
|||
Intelligent Inbound Routing & Storage |
|||
</li> |
|||
<li> |
|||
Tracking and Analytics |
|||
</li> |
|||
<li> |
|||
Email Validation |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<h3 class="oe_slogan">Mailgun Configuration</h3> |
|||
<h4 class="oe_slogan"><b>Manage Domains</b></h4> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
<ul style="padding-left: 1.4em;"> |
|||
<li> |
|||
Create account on <a href="https://mailgun.com" target="_blank">Mailgun</a> service |
|||
</li> |
|||
<li> |
|||
Add domain in <b>Domains</b> menu |
|||
</li> |
|||
</ul> |
|||
Note that the state of your domain should be <b>Active</b> to be able to use it from Odoo side. To verify it follow the instruction <a href="https://help.mailgun.com/hc/en-us/articles/202052074-How-do-I-verify-my-domain-" target="_blank">How do I verify my domain</a> |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_add_domain.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Click on added domain name and see all the information needed to configure your <em>Incoming</em> and <em>Outgoing</em> mail feature. |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_domain_details.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
If you use sandbox domain, add <b>Authorized Recipient</b> first (sandbox domains are restricted to <a href="https://help.mailgun.com/hc/en-us/articles/217531258" target="_blank">authorized recipients</a>) |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_auth_recipients.png"/> |
|||
</div> |
|||
<br/> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_auth_recipients_form.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced" style="margin-top: 5em;"> |
|||
<h4 class="oe_slogan"><b>Routes</b></h4> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Navigate to <b>Routes</b> menu and create a new route |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_route.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Set the following fields and values: |
|||
<ul> |
|||
<li> |
|||
<b>Expression Type</b>: Custom |
|||
</li> |
|||
<li> |
|||
<b>Raw Expression</b>: match_recipient('.*@your_mail_domain') |
|||
</li> |
|||
<li> |
|||
<b>Actions</b>: |
|||
<ul> |
|||
<li> |
|||
Check the box <em>Store and notify</em> |
|||
</li> |
|||
<li> |
|||
Put there http://your_odoo_domain/mailgun/notify |
|||
</li> |
|||
</li> |
|||
</ul> |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_route_form.png"/> |
|||
</div> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
<b>Now everything is ready to move to Odoo configuration.</b> |
|||
</font> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced" style="margin-top: 6em;"> |
|||
<h3 class="oe_slogan">Odoo Configuration</h3> |
|||
<h4 class="oe_slogan"><b>Outgoing Mail Feature</b></h4> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
At first, activate <a href="https://odoo-development.readthedocs.io/en/latest/odoo/usage/debug-mode.html" target="_blank">the developer mode</a>. Then go to <em>Settings → Technical → Email → Outgoing Mail Servers</em> menu and populate the following fields: |
|||
<ul> |
|||
<li> |
|||
<b>Description</b> - e.g. Mailgun |
|||
</li> |
|||
<li> |
|||
<b>SMTP Server</b> - smtp.mailgun.org |
|||
</li> |
|||
<li> |
|||
<b>Connection Security</b> - SSL/TLS |
|||
</li> |
|||
<li> |
|||
<b>Username</b> - use <em>Default SMTP Login</em> from mailgun |
|||
</li> |
|||
<li> |
|||
<b>Password</b> - use <em>Default Password</em> from mailgun |
|||
</li> |
|||
</ul> |
|||
Once the fields are populated, click <b>Test Connection</b> button to check the connection to smtp server. If everything is ok, you can see popup message <em>Connection Test Succeeded! Everything seems properly set up!</em> and you are able to send messages now. |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_odoo_outgoing.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<h4 class="oe_slogan"><b>Incoming Mail Feature</b></h4> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Note that to setup incoming mailing, it is not required to setup <em>Incoming Mail Server</em>. |
|||
<br/> |
|||
Open <em>Settings → General Settings</em> menu: |
|||
<ul> |
|||
<li> |
|||
Check the box <b>External Email Servers</b> |
|||
</li> |
|||
<li> |
|||
Set as <b>Alias Domain</b> the domain name from Mailgun |
|||
</li> |
|||
</ul> |
|||
Save the changes. |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_odoo_general.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Setup mailgun API credentials in <em>Settings → Parameters → System Parameters</em> menu. Create new parameter: |
|||
<ul> |
|||
<li> |
|||
<b>Key</b> - mailgun.apikey |
|||
</li> |
|||
<li> |
|||
<b>Value</b> - key-12345... |
|||
</li> |
|||
</ul> |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_odoo_sys_param.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Now you can configure mail aliases for users. Go to <em>Settings → Users</em> menu and open user form (e.g. for Administrator). Then switch to <em>Preferences</em> tab and select an existing alias or create new one in the <b>Alias</b> field. |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_odoo_mail_alias.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
Open the user's related partner and set <b>Email</b> - the email is used for replying on user messages |
|||
</font> |
|||
</p> |
|||
</div> |
|||
<div class="oe_screenshot" align="center"> |
|||
<img style="max-width: 80%" src="mailgun_odoo_partner_email.png"/> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container oe_dark"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span12 text-center"> |
|||
<p class="oe_mt32"> |
|||
<font style="font-size: 120%;"> |
|||
<b> |
|||
Everything is done! It's time to send/receive email messages now! |
|||
</b> |
|||
</font> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<section class="oe_container"> |
|||
<div class="oe_row oe_spaced"> |
|||
<div class="oe_span8"> |
|||
<h2>Need our service?</h2> |
|||
<p class="oe_mt32">Contact us by <a href="mailto:apps@it-projects.info">email</a> or fill out <a href="https://www.it-projects.info/page/website.contactus " target="_blank">request form</a></p> |
|||
<ul> |
|||
<li><a href="mailto:apps@it-projects.info">apps@it-projects.info <i class="fa fa-envelope-o"></i></a></li> |
|||
<li><a href="https://www.it-projects.info/page/website.contactus " target="_blank">https://www.it-projects.info/page/website.contactus <i class="fa fa-list-alt"></i></a></li> |
|||
<li><a href="https://m.me/itprojectsllc" target="_blank">https://m.me/itprojectsllc <i class="fa fa-facebook-square"></i></a></li> |
|||
<li>skype@it-projects.info <i class="fa fa-skype"></i></li> |
|||
</ul> |
|||
</div> |
|||
<div class="oe_span4"> |
|||
<div class="stamp" style="width:200px;"> |
|||
<div style="margin-top: 15px; |
|||
position: relative; |
|||
font-family:'Vollkorn', serif; |
|||
font-size: 16px; |
|||
line-height: 25px; |
|||
text-transform: uppercase; |
|||
font-weight: bold; |
|||
color: #75526b; |
|||
border: 3px dashed #75526b; |
|||
float: left; |
|||
padding: 4px 12px; |
|||
-webkit-transform: rotate(6deg); |
|||
-o-transform: rotate(6deg); |
|||
-moz-transform: rotate(6deg); |
|||
-ms-transform: rotate(6deg);"> |
|||
Tested on Odoo<br/>11.0 community |
|||
</div> |
|||
<div style="margin-top: 15px; |
|||
position: relative; |
|||
font-family:'Vollkorn', serif; |
|||
font-size: 16px; |
|||
line-height: 25px; |
|||
text-transform: uppercase; |
|||
font-weight: bold; |
|||
color: #75526b; |
|||
border: 3px dashed #75526b; |
|||
float: left; |
|||
padding: 4px 12px; |
|||
-webkit-transform: rotate(-7deg); |
|||
-o-transform: rotate(-7deg); |
|||
-moz-transform: rotate(-7deg); |
|||
-ms-transform: rotate(-7deg);"> |
|||
Tested on Odoo<br/>11.0 enterprise |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
Before Width: 1196 | Height: 509 | Size: 133 KiB |
Before Width: 1135 | Height: 916 | Size: 150 KiB |
Before Width: 1079 | Height: 443 | Size: 68 KiB |
Before Width: 1209 | Height: 916 | Size: 135 KiB |
Before Width: 1257 | Height: 681 | Size: 112 KiB |
Before Width: 1192 | Height: 647 | Size: 113 KiB |
Before Width: 1186 | Height: 671 | Size: 114 KiB |
Before Width: 969 | Height: 653 | Size: 83 KiB |
Before Width: 1192 | Height: 647 | Size: 108 KiB |
Before Width: 1179 | Height: 921 | Size: 287 KiB |
Before Width: 1179 | Height: 921 | Size: 201 KiB |