openERP里的邮件处理主要有个2个模块处理

mail -核心

fetchmail -接收邮件

 
 

Alias domain和alias name

 
 

配置domain alias.

Settings/ configuration / general settings / email/ alias

 
 

注意,alias domain 最好和邮件的domain相同,这样免得需要另外配置DNS系统

 
 

配置user alias.

配置了alias domain之后,用户alias会自动生成

Alias name 默认为 login ,
也可以进行修改

默认是
alias name @ alias domain ---
如果设置了alias. mail_from就用alias

 
 

可以修改alias为你所需要的,点击 alias值,,,

显示alias.

编辑它,
将alias改成你所需要的,然后保存

 
 

 
 

 
 

发信

只要配置SMTP服务器即可

Settings/ configuration / general settings / email/ configure the outgoing email servers

 
 

 
 

按键create

输入SMTP服务器信息

Note

重要信息

  • Description
  • SMTP server
  • SMTP port
  • Connection Security…. Important…

 
 

 
 

收信

 
 

  1. 收信可以用fetchmail模块处理 POP 、IMAP邮箱
  2. 也可以用 openerp_mailgate.py 脚本处理发送到
    主机上的邮件

 
 

fetchmail模块收信

  1. 配置收信服务器
  2. 配置创建model record.

 
 

配置收信服务器

Settings/ configuration / general settings / email/ configure the outgoing email servers

 
 

按键create

 
 

 
 

fetchmail支持3种server type

  1. POP
  2. IMAP
  3. LOCAL SERVER ----即openerp_mailgate.py

 
 

 
 

POP类型
… POP会删除服务器上的邮件,慎用
!!!

第二部分,输入服务器信息和账号信息

第三部分,选择恰当的 new record. 和/或者 server action --具体见
'配置创建model record 和 server Action'

 
 

 
 

IMAP类型

与pop类型差不多

第二部分,输入服务器信息和账号信息

第三部分,选择恰当的 new record. 和/或者 server action --具体见
'配置创建model record 和 server Action'

 
 

LOCAL SERVER类型

------如果需要使用create New Record AND/OR server action时,才会用到此类型

 
 

选择本地类型时,使用MTA的alias转发机制接收邮件

 
 

 
 

具体做法

  1. 搭一个SMTP服务器,例如postfix
  2. 将SMTP服务发布出去
  3. 配置alias domain
  4. 修改DNS,为youdomain设置MX记录
  5. 配置 alias转发,使用
    openerp_mailgate.py脚本将邮件插入到mail模块里

     
     

    修改mail.cfg 增加

    virtual_alias_maps = hash:/etc/postfix/virtual_aliases

     

    修改/etc/postfix/virtual_aliases增加

    @youdomain allow

    @youdomain openerp_mailgate@localhost

    将发送到@youdomain的邮件转发给 openerp_mailgate@localhost处理

     
     

    修改/etc/aliases增加

    openerp_mailgate: "|/path/to/openerp-mailgate.py --host=localhost -u 1 -p PASSWORD -d bioinformatics"

    使用openerp_mailgate.py脚本将邮件交给mail.thread处理

     
     

    制作hash文件

    postmap /etc/postfix/virtual_aliases

    newalias

 
 

Bug,,,,,,,

 
 

Jul 26 16:33:05 ubuntu postfix/local[2652]: 48DB746CF1: to=<openerp_mailgate@localhost>, orig_to=<admin@oe.bioerp.com>, relay=local, delay=0.95, delays=0.69/0/0/0.27, dsn=5.3.0, status=bounced (Command died with status 1: "/usr/bin/python /usr/lib/pymodules/python2.7/openerp/addons/mail/static/scripts/openerp_mailgate.py --host=127.0.0.1 -u 7 -p 4321 -d CRM_PLUS". Command output: Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/openerp/addons/mail/static/scripts/openerp_mailgate.py", line 201, in <module> main() File "/usr/lib/pymodules/python2.7/openerp/addons/mail/static/scripts/openerp_mailgate.py", line 189, in main '%s' % (cgitb.text(sys.exc_info())), File "/usr/lib/python2.7/cgitb.py", line 245, in text exception = ['%s: %s' % (str(etype), str(evalue))] File "/usr/lib/python2.7/xmlrpclib.py", line 225, in __str__ return repr(self) UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-22: ordinal not in range(128) )

,,,,,,,,,,,,,,,

 

Fixed code

import sys

reload(sys)

sys.setdefaultencoding('utf8')

 
 

 
 

 
 

进阶部分

任何一种邮件接收方式,都可以设置特定的转发规则 AND/OR 服务器动作 ---服务器动作,参考另外一篇文章

 
 

配置创建model record 和 server Action

 
 

可以为接收进来的邮件指定模型
或者
触发服务器动作

如代码

 
 

 
 

 
 

高级选项

  • Keep original是否保留原始邮件,
    非保留服务器副本的含义
  • Keep attachments是否保留附件

 
 

 
 

 
 

 
 

注意事项;

  • 注意邮件loop

    比如收到邮件时创建message. 但是在 partner上启用了 notification_email_send : comment

    这样OE会向用户信箱(mail)发送邮件, 而该邮箱又设置了pop3下载; 造成loop.

     
     

     
     

  • 如果需要在服务器保留邮件,选择IMAP访问
  • POP访问会删除服务器上的邮件

openERP邮件(发信、收信)的更多相关文章

  1. Loadrunner:POP3协议录制收信,使用foxmail录制到的脚本为空

    以下录制方法使得录制到的脚本为空: (1)打开Virtual User Generator,点击“新建Vuser脚本”,在弹出的向导页面,选择“新建单协议脚本”,选择“POP3”协议,并确定 (2)在 ...

  2. PostFix使用dovecot支持POP3/IMAP收信

    PostFix只能够收发邮件,以及使用SMTP发送邮件,想要使用POP3/IMAP收信的话必须装其他软件,本文通过配置dovecot让邮件服务器支持POP3/IMAP收信.POP3/IMAP是一种收信 ...

  3. Gmail 收信的一些规则

    Gmail 收信的一些规则 用 apache+php+MDaemon 调试 mail2www 时,发往gmail的邮件失败, 提示: Our system detected an illegal at ...

  4. zabbix告警邮件、短信发送错误快速排查方法

    zabbix告警邮件.短信发送错误快速排查方法 背景 zabbix告警邮件.短信经常有同事反馈发送错误的情况,这个问题排查的角度很多,那么最快捷的角度是什么呢? 在我看来,最快的角度就是判断这个告警邮 ...

  5. 基于日志服务的GrowthHacking(1):数据埋点和采集(APP、Web、邮件、短信、二维码埋点技术)

    数据质量决定运营分析的质量 在上文中,我们介绍了GrowthHacking的整体架构,其中数据采集是整个数据分析的基础,只有有了数据,才能进行有价值的分析:只有高质量的数据,才能驱动高质量的运营分析. ...

  6. 为什么我的outlook只能收信不能发信,发送测试电子邮件消息: 无法发送此邮件。请在帐户属性中验证电子邮件

    链接地址:http://zhidao.baidu.com/link?url=aVIFo2aNLuHIZGZuEUataHkZp4XApHqyvbEK8ACHPhi3jwhGhM0GBAtm72AnsP ...

  7. outlook创建收信规则,将收到的所有邮件,转发到qq邮箱,然后删除

    因为outlook默认只有400M的空间. 使用企业邮箱的时候,很快就满了. 本来是打算在qq邮箱中,添加其他邮箱来收取的. http://service.mail.qq.com/cgi-bin/he ...

  8. Flask实战第67天:Flask+Celery实现邮件和短信异步发送

    之前在项目中我们发送邮件和 短信都是阻塞的,现在我们来利用Celery来优化它们 官方使用文档: http://flask.pocoo.org/docs/1.0/patterns/celery/ re ...

  9. python学习总结------邮件与短信

    邮件发送 - 简介: - 邮件服务器.用户名.密码 - 相关协议: - SMTP:简单邮件传输协议 - POP3:邮局通讯协议 - IMAP:交互式邮件存取协议 - SMTP协议默认端口是25 - 用 ...

随机推荐

  1. 【笔记】PIL 中的 Image 模块

    Image 模块提供了一个同名类(Image),也提供了一些工厂函数,包括从文件中载入图片和创建新图片.例如,以下的脚本先载入一幅图片,将它旋转 45 度角,并显示出来: 1 >>> ...

  2. 链式链表的C风格实现

    头文件: #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef void LinkList; //将数据的类型分离,相当于句柄 //只是一个小节点 包含着 ...

  3. MySQL外键设置 级联删除

    . cascade方式在父表上update/delete记录时,同步update/delete掉子表的匹配记录 . set null方式在父表上update/delete记录时,将子表上匹配记录的列设 ...

  4. bean容器能力

    bean容器能力 对bean容器的最简单的述求 能生产bean 能注入组装bean: 字段,构造函数 spring bean容器(3.0版本)的能力列表 能生产bean 能注入组装bean:字段,构造 ...

  5. 利用MySQL数据库如何解决大数据量存储问题?

    提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条 ...

  6. Leetcode 406.根据身高重建队列

    根据身高重建队列 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. 注意:总人 ...

  7. Python3常用模块的安装

    1.mysql驱动:mysql-connector-python 1.安装 $ pip3 install mysql-connector-python --allow-external mysql-c ...

  8. HDU-4417 Super Mario,划分树+二分!

    Super Mario 这个题也做了一天,思路是很清晰,不过二分那里写残了,然后又是无限RE.. 题意:就是查询区间不大于k的数的个数. 思路:裸划分树+二分答案.将区间长度作为二分范围.这个是重点. ...

  9. shrio注解的方式进行权限控制

    除了通过API方式外,Shiro 提供Java 5+注解的集合,以注解为基础的授权控制.在你可以使用Java 注释之前,你需要在你的应用程序中启用AOP 支持. Shiro注解支持AspectJ.sp ...

  10. spring之Autowire

    当使用spring为一个对象的属性注入时,通常使用xml文件的property元素和ref属性,但是我们也可以使用spring中的autowire进行注入 使用方法如下 <bean id=&qu ...