zoukankan      html  css  js  c++  java
  • openERP邮件(发信、收信)

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

    mail -核心

    fetchmail -接收邮件

       

    Alias domainalias 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时,才会用到此类型

       

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

       

       

    具体做法

    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访问会删除服务器上的邮件
    转载注明原作者 /by Jeffery
  • 相关阅读:
    python高级 之(三) --- 高阶函数
    python高级 之(二) --- 类装饰器
    python高级 之(一) --- 函数类型
    jQuery
    css
    html
    px2rem
    keep-alive标签
    rem适配方案2(flexible.js)
    媒体查询
  • 原文地址:https://www.cnblogs.com/odoouse/p/4690414.html
Copyright © 2011-2022 走看看