# Set python vars from env vars smtp_host = '$ODOO_MAIL_SMTP_HOST' smtp_port = $ODOO_MAIL_SMTP_PORT smtp_encryption = '$ODOO_MAIL_SMTP_ENCRYPTION' smtp_from_filter = '$ODOO_MAIL_SMTP_FROM_FILTER' imap_host = '$ODOO_MAIL_IMAP_HOST' imap_port = $ODOO_MAIL_IMAP_PORT imap_ssl = $ODOO_MAIL_IMAP_SSL mail_user = '$ODOO_MAIL_USER' mail_password = '$ODOO_MAIL_PASSWORD' mail_catchall_alias = '$ODOO_MAIL_CATCHALL_ALIAS' mail_catchall_domain = '$ODOO_MAIL_CATCHALL_DOMAIN' mail_default_from = '$ODOO_MAIL_DEFAULT_FROM' # Setup outgoing mail server if smtp_host: ir_mail_server = { 'name': smtp_host, 'smtp_host': smtp_host, 'smtp_port': smtp_port, 'smtp_user': mail_user, 'smtp_pass': mail_password, 'smtp_encryption': smtp_encryption, 'from_filter': smtp_from_filter } ir_mail_server_id = env['ir.mail_server'].search([('name', '=', smtp_host)], limit=1) if ir_mail_server_id: ir_mail_server_id.write(ir_mail_server) else: env['ir.mail_server'].create(ir_mail_server) env.cr.commit() # Setup incoming mail server if imap_host: fetchmail_server = { 'name': imap_host, 'server': imap_host, 'port': imap_port, 'user': mail_user, 'password': mail_password, 'is_ssl': imap_ssl, 'state': 'done' } fetchmail_server_id = env['fetchmail.server'].search([('name', '=', imap_host)], limit=1) if fetchmail_server_id: fetchmail_server_id.write(fetchmail_server) else: env['fetchmail.server'].create(fetchmail_server) env.cr.commit() # Setup system parameters if mail_catchall_alias: mail_catchall_alias_id = env['ir.config_parameter'].search([('key', '=', 'mail.catchall.alias')], limit=1) if not mail_catchall_alias_id: env['ir.config_parameter'].create({'key': 'mail.catchall.alias', 'value': mail_catchall_alias}) if mail_catchall_alias_id.value != mail_catchall_alias: env['ir.config_parameter'].search([('key', '=', 'mail.catchall.alias')], limit=1).write({'value': mail_catchall_alias}) env.cr.commit() if mail_catchall_domain: mail_catchall_domain_id = env['ir.config_parameter'].search([('key', '=', 'mail.catchall.domain')], limit=1) if not mail_catchall_domain_id: env['ir.config_parameter'].create({'key': 'mail.catchall.domain', 'value': mail_catchall_domain}) if mail_catchall_domain_id.value != mail_catchall_domain: env['ir.config_parameter'].search([('key', '=', 'mail.catchall.domain')], limit=1).write({'value': mail_catchall_domain}) env.cr.commit() if mail_default_from: mail_default_from_id = env['ir.config_parameter'].search([('key', '=', 'mail.default.from')], limit=1) if not mail_default_from_id: env['ir.config_parameter'].create({'key': 'mail.default.from', 'value': mail_default_from}) if mail_default_from_id.value != mail_default_from: env['ir.config_parameter'].search([('key', '=', 'mail.default.from')], limit=1).write({'value': mail_default_from}) env.cr.commit()