odoo10中邮件提醒配置如下:

1.配置出向邮件服务器

  打开开发者模式,设置-->技术-->email-->出向邮件服务器

  设置如下:

  

  如果配置成功,点击’测试连接‘,会出现如下弹出框:

  

2.设置公司邮箱为刚才配置的邮件地址

  设置-->用户-->公司,修改公司邮箱地址

3.模型中使用

 from odoo import models, fields, api, tools

 class InvoiceBill(models.Model):
""" """
_name = 'esw.invoice.bill'
_inherit = ['mail.alias.mixin', 'mail.thread', 'ir.needaction_mixin']
_description = u'邮件学习测试'
_order = 'create_date desc' def _get_domain_of_invoice_manager(self):
manager = self.env['ir.model.data'].xmlid_to_object('mail_test.esw_invoice_bill_manager_group')[0]
return [('id', 'in', manager.users.ids)] name = fields.Char(u'单据说明')
invoice_manager = fields.Many2one('res.users', u'仓库主管', domain=_get_domain_of_invoice_manager)
remark = fields.Text(u'备注')
alias_id = fields.Many2one('mail.alias', string='别名', ondelete="restrict", required=True) state = fields.Selection(
[
('init', u'初始化'),
('revert', u'撤回'),
('submit', u'已提交'),
('delivered', u'已发货'),
('completed', u'完成'),
],
default='init',
track_visibility='onchange',
required=True,
) @api.multi
def _track_template(self, tracking):
"""
前提:不配置域别名[mail.catchall.domain]
此处将该参数[no_auto_thread]设置为True,可以使replay_to参数的邮件值为预期值,否则会是模板中配置的${xx.xx}
这样可以达到正常发送提醒邮件,且发送邮件中的发送人/接收人/reply_to 达到预期的值;
收件人回复后也能也能收取,会显示为消息,也就是mail.message,并且不会跟原来的邮件做关联 如果设置域别名[mail.catchall.domain]
虽然参数[no_auto_thread]不设置,邮件中replay_to参数也会是预期值,但是邮件发送失败,走了odoo中自带的email_from规则(odoo10参见mail_mail.py line-248),
如下:
bounce_alias = self.env['ir.config_parameter'].get_param("mail.bounce.alias")
catchall_domain = self.env['ir.config_parameter'].get_param("mail.catchall.domain")
if bounce_alias and catchall_domain:
if mail.model and mail.res_id:
headers['Return-Path'] = '%s+%d-%s-%d@%s' % (bounce_alias, mail.id, mail.model, mail.res_id, catchall_domain)
else:
headers['Return-Path'] = '%s+%d@%s' % (bounce_alias, mail.id, catchall_domain)
对于设置了域别名[mail.catchall.domain]的情况一直没有尝试成功
:param tracking:
:return:
"""
res = super(InvoiceBill, self)._track_template(tracking) template = self.env.ref('mail_test.esw_mail_test_template') res['template_id'] = (template, {
'composition_mode': 'mass_mail',
'no_auto_thread': True,
})
return res

说明:

  对于邮件接收的,配置起来比较麻烦,到现在整个流程没有走通,就不说了,如果仅仅是针对邮件提醒的话,上面是没有问题的。

  关于邮件接收:

  1.需要配置收件邮件服务器;

  2.需要配置参数,设置-->技术-->参数-->系统参数,设置如下:

  

  mail.bounce.alias是你发送邮箱@前面的字符串,mail.catchall.alias是接收别名,不用接收不需要配置;

  还有个系统收取邮件需要配置的 [域别名]--mail.catchall.domain

  3.如果需要跟mail.message关联,好像还需要配置  别名  (我现在就是邮件发出去,当对方回复的时候,系统中关联不起来,不会以邮件的形式存在,而是消息)

  

  接收到消息后,在设置-->技术-->email-->消息中可以查看,

  

  4.收取邮件地址的别名,设置-->技术-->email-->别名,然后需要在模型中重写mail.thread的message_new方法

  设计到的模型,mail模块下mail.thread, mail.mail, mail.message,  邮件服务器模型base/ir/ir_mail_server.py

odoo10中的邮件提醒的更多相关文章

  1. c#之Redis队列在邮件提醒中的应用

    场景 有这样一个场景,一个邮件提醒的windows服务,获取所有开启邮件提醒的用户,循环获取这些用户的邮件,发送一条服务号消息.但问题来了,用户比较少的情况下,轮询一遍时间还能忍受,如果用户多了,那用 ...

  2. 2.jenkins配置邮件提醒

    1.前言 在Jenkins的使用中邮件提醒是一个常用功能,Jenkins默认安装了Mailer Plugin插件用于实现此功能. 2.邮件服务器配置 首先在Jenkins的"系统管理&quo ...

  3. WordPress设置固定链接和邮件提醒遇到的问题

    固定链接1.WordPress根目录下有一个.h...文件,记录文章链接类型对应的配置,要保证该文件的可写全权限:2.设置Apache2的rewrite模块启动,/etc/apache2/modle- ...

  4. Python-定时爬取指定城市天气(二)-邮件提醒

    目录 一.概述 二.模块重新划分 三.优化定时任务 四.发送邮件 五.源代码 一.概述 上一篇文章python-定时爬取指定城市天气(一)-发送给关心的微信好友中我们讲述了怎么定时爬取城市天气,并发送 ...

  5. EWS 邮件提醒

    摘要 之前做的邮件提醒的项目,最近需要优化,由于使用了队列,但即时性不是特别好,有队列,就会出现先后的问题,最近调研了exchange 流通知的模式,所以想使用流通知模式和原先的拉取邮件的方法结合,在 ...

  6. Azure虚机磁盘容量警报(邮件提醒)

    上周有个客户提出这样的需求:根据虚拟机磁盘的实际使用量,当达到某一阈值时设置邮件提醒. 在这个需求中我们只需要解决两点问题: 计算虚拟机磁盘实际使用量 发送邮件 使用VS新建一个名为Calculate ...

  7. shell脚本-监控及邮件提醒

    首先写一个邮件提醒python文件 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.m ...

  8. docker搭建gitlab,设置邮件提醒,并运行runner

    接着http://www.cnblogs.com/wsy1030/p/8431837.html 在另一台机子运行gitlab: docker run --name='gitlab' -d -p 222 ...

  9. biff - 新到邮件提醒

    总览 (SYNOPSIS) biff [ny ] 描述 (DESCRIPTION) Biff 通知系统在当前终端会话期间有新邮件是否提醒你. 支持的选项有 biff n 禁止新邮件提醒. y 开启新邮 ...

随机推荐

  1. java 接口一

    一 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口 的子类)来完成.这样将功能的 ...

  2. CSS 定位总结

    目录 元素显示模式 元素模式 元素显示模式转换 CSS定位机制 静态定位static 相对定位relative 绝对定位absolute 固定定位fixed 粘性定位sticky 定位小结一图流 CS ...

  3. MySQL设置传输包大小

    MySQL执行插入或更新时, 当数据量过大时, 可能由于"max_allowed_packet"参数的限制导致执行失败.此时, 可以重新设置该参数的值. "max_all ...

  4. C++中将对象this转换成unsigned char指针

    示例程序 // ---CodeBlob.h--- #ifndef CODEBLOB_H_ #define CODEBLOB_H_ class CodeBlob { private: const cha ...

  5. Disruptor极速队列

    参考:http://www.cnblogs.com/haiq/p/4112689.html Disruptor 是线程内通信框架,用于线程里共享数据.LMAX 创建Disruptor作为可靠消息架构的 ...

  6. mycli工具mysql命令自动补全

    简介 MyCli 是一个 MySQL 的命令行客户端,可以实现自动补全和语法高亮.MyCli 也可用于 MariaDB 和Percona. 项目地址:http://mycli.net/ 安装 pip安 ...

  7. 结构体深度比较 reflect.DeepEqual

    demo1 package main import ( "fmt" "reflect" ) func main() { sliceMap1 := make([] ...

  8. golang学习笔记:Interface类型断言详情

    原文链接:https://www.2cto.com/kf/201712/703563.html 1. 用于判断变量类型 demo如下: switch t := var.(type){ case str ...

  9. python 递归删除空文件夹

    Python如何递归删除空文件夹 1.Python如何递归删除空文件夹,这个问题很常见.但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦.Python中的os.walk提供了 ...

  10. 使用log4j将数据流入flume

    最近做了一个log抽取的项目,采用log4j+flume实现,在此分享记录一下. 准备 什么是flume? flume是一个提供高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. flume ...