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. Linux poll机制

    1.用户空间调用(参考 poll(2) - Linux man page) int poll(struct pollfd *fds, nfds_t nfds, int timeout); it wai ...

  2. Codeforces Round #879 (Div. 2) C. Short Program

    题目链接:http://codeforces.com/contest/879/problem/C C. Short Program time limit per test2 seconds memor ...

  3. hdu 5437

    Alisha’s Party Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  4. JavaScript正则表达式-后缀选项(标记)

    i:表示匹配时不区分大小写 Str = "JavaScript is different from java"; reg = /java\w*/i; arr_m = str.mat ...

  5. tomcat 修改默认端口8080 为 80端口

    首先,找到你的安装目录,如图: 打开server.xml文件,找到8080,如图: 将 8080  改成你想要的端口,如 80 即可.改完后,记得要重启tomcat! 将端口改成 80 后,访问就不需 ...

  6. search Paths $(SRCROOT)和$(PROJECT_DIR)区别

    $(SRCROOT)代表的时项目根目录下 $(PROJECT_DIR)代表的是整个项目 PS:往项目添加文件时,例如.a等,要先showinfinder ,复制到项目中,然后再拖到xcode项目中

  7. nodemailer发送邮件遇到的一些问题

    使用nodemailer发送邮件一直困惑了我好几天,百度谷歌都没有找到的几个问题,方便大家排查. 我使用的是0.7.1版本,其他的版本好像报错,就没用. 错误信息:Mail from command ...

  8. OkHttpUtil

    package jp.co.gunmabank.util import android.os.Handlerimport android.os.Looperimport com.google.gson ...

  9. 如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2'

    如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2' 大家在做真机调试的时候,或许会遇到这样的问题,那如何 ...

  10. BZOJ 4753 [Jsoi2016]最佳团体 ——01分数规划 树形DP

    要求比值最大,当然用分数规划. 二分答案,转化为选取一个最大的联通块使得它们的和大于0 然后我们直接DP. 复杂度$O(n^2\log {n})$ #include <map> #incl ...