[ADD] mail_environment_google_gmail

This commit is contained in:
Ivàn Todorovich 2022-03-17 12:54:58 -03:00
parent d22c764d62
commit 474d86c18f
No known key found for this signature in database
GPG Key ID: E7222FC36B138243
10 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1 @@
TO BE GENERATED

View File

@ -0,0 +1 @@
from . import models

View File

@ -0,0 +1,19 @@
# Copyright 2022 Camptocamp SA (https://www.camptocamp.com).
# @author Iván Todorovich <ivan.todorovich@camptocamp.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Mail configuration with server_environment for Google Gmail",
"summary": "Configure Gmail mail servers with server_environment_files",
"version": "15.0.1.0.0",
"author": "Camptocamp, Odoo Community Association (OCA)",
"maintainers": ["ivantodorovich"],
"website": "https://github.com/OCA/server-env",
"license": "AGPL-3",
"category": "Tools",
"depends": [
"google_gmail",
"server_environment",
"server_environment_ir_config_parameter",
],
}

View File

@ -0,0 +1 @@
from . import ir_mail_server

View File

@ -0,0 +1,20 @@
# Copyright 2022 Camptocamp SA (https://www.camptocamp.com).
# @author Iván Todorovich <ivan.todorovich@camptocamp.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models
class IrMailServer(models.Model):
_inherit = "ir.mail_server"
@property
def _server_env_fields(self):
base_fields = super()._server_env_fields
gmail_fields = {
"use_google_gmail_service": {},
"google_gmail_authorization_code": {},
"google_gmail_refresh_token": {},
}
gmail_fields.update(base_fields)
return gmail_fields

View File

@ -0,0 +1,28 @@
Example of config file ::
[ir.config_parameter]
google_gmail_client_id = YOUR_GMAIL_API_CLIENT_ID
google_gmail_client_secret = YOUR_GMAIL_API_CLIENT_SECRET
[outgoing_mail.gmail_smtp_server]
smtp_host = smtp.gmail.com
smtp_port = 587
smtp_user = example@gmail.com
smtp_encryption = starttls
use_google_gmail_service = True
google_gmail_authorization_code = YOUR_ACCOUNT_AUTH_CODE
google_gmail_refresh_token = YOUR_REFRESH_TOKEN
These two are global parameters, in core they're configured in General Settings:
* `YOUR_GMAIL_API_CLIENT_ID`: The client ID of your Google API project.
* `YOUR_GMAIL_API_CLIENT_SECRET`: The client secret of your Google API project.
These two are account-specific parameters:
* `YOUR_ACCOUNT_AUTH_CODE`: In core, there's a button that opens an URL to generate it.
* `YOUR_REFRESH_TOKEN`: In core, it's generated automatically when the
`google_gmail_authorization_code` is written. It's not shown on the form, but I recommend
having Odoo generate it and extract it from there, before setting up the server-env.

View File

@ -0,0 +1,3 @@
* `Camptocamp <https://www.camptocamp.com>`_
* Iván Todorovich <ivan.todorovich@camptocamp.com>

View File

@ -0,0 +1 @@
This module allows to configure Gmail outgoing servers with server-env.

View File

@ -0,0 +1 @@
../../../../mail_environment_google_gmail

View File

@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)