跳至内容
Odoo 菜单
  • 登录
  • 免费试用
  • 应用程序
    财务
    • 会计
    • 发票
    • 费用
    • 电子表格 (BI)
    • 文档
    • 电子签名
    销售
    • 客户关系管理
    • 销售
    • POS 销售点管理-零售
    • POS 销售点管理 - 餐厅
    • 订阅
    • 租赁
    网站
    • 网站设计
    • 电子商务
    • 博客
    • 论坛
    • 在线客服
    • 在线学习
    供应链
    • 库存
    • 制造
    • 产品生命周期
    • 采购
    • 维护保养
    • 品控
    人力资源
    • 员工
    • 招聘
    • 休假
    • 评价
    • 内部推荐
    • 车队
    营销
    • 社媒营销
    • 电邮营销
    • 短信营销
    • 近期活动
    • 营销自动化
    • 网上调查
    服务
    • 项目管理
    • 工时单
    • 现场服务
    • 服务台
    • 排期
    • 预约
    生产力
    • 讨论
    • 批核
    • IoT物联网
    • VoIP
    • 知识库
    • WhatsApp
    第三方应用软件 Odoo 定制 Odoo云端平台
  • 行业
    零售
    • 书店
    • 服装店
    • 家具店
    • 食品杂货店
    • 五金店
    • 玩具店
    餐饮与酒店服务
    • 酒吧及酒馆
    • 餐厅
    • 快餐
    • 民宿
    • 饮品分销商
    • 酒店
    房地产
    • 房地产代理
    • 建筑师事务所
    • 建造业
    • 地产管理
    • 园艺
    • 业主协会
    咨询
    • 会计师事务所
    • Odoo合作伙伴
    • 市场推广公司
    • 律师事务所
    • 人才招聘
    • 审核 & 认证
    制造
    • 纺织
    • 金属
    • 家具
    • 食品
    • 啤酒厂
    • 企业礼品
    保健与健身
    • 体育俱乐部
    • 眼镜店
    • 健身中心
    • 健康从业者
    • 药房
    • 发型屋
    Trades
    • 维修人员
    • IT 硬件及支持
    • 太阳能系统
    • 鞋匠
    • 清洁服务
    • 暖通空调服务
    其他
    • 非营利组织
    • 环境机构
    • 广告牌租赁
    • 摄影服务
    • 自行车租赁
    • 软件经销商
    浏览所有行业
  • 社区
    学习
    • 教学视频
    • 文档
    • 认证
    • 培训
    • 博客
    • 播客
    赋能教育
    • 教育计划
    • Scale Up! 商业游戏
    • 参观Odoo
    获取软件
    • 下载
    • 版本对比
    • 发布
    合作
    • Github
    • 论坛
    • 近期活动
    • 翻译
    • 成为合作伙伴
    • 合作伙伴服务
    • 注册您的会计事务所
    获取服务
    • 寻找合作伙伴
    • 查找会计服务
    • 预约顾问咨询
    • 安装及推行服务
    • 客户参考
    • 支持
    • 升级
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    获取演示
  • 定价
  • 技术支持

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • 客户关系管理
  • e-Commerce
  • 会计
  • 库存
  • PoS
  • 项目
  • MRP
All apps
只限注册用戶才可与社群互动。
所有帖文 人 徽章
标签 (查看所有)
odoo accounting v14 pos v15
关于此论坛区
只限注册用戶才可与社群互动。
所有帖文 人 徽章
标签 (查看所有)
odoo accounting v14 pos v15
关于此论坛区
帮助

customize the auto lead creation through incoming emails

订阅

此帖文有活动时,接收通知

此问题已终结
mailmessagingcrmfetchmail
4 回复
29213 查看
形象
RU3IX PTY LTD

Hi,

I have requirement to customize the subject of the lead which is automatically created when the emails are fetched, is their anyway in the server action I could control what needs to have in the subject field when a new lead is created.

Thanks

2
形象
丢弃
Lucio

I am not sure what are you asking. The only thing you want to do is to change the name of the lead being created, no matter what?

形象
Lucio
最佳答案

The function that is being called when a message arrives is message_new that is present in mail_thread, but in many cases is re-implemented by modules that need to create objects from mails.

def message_new(self, cr, uid, msg_dict, custom_values=None, context=None):
...
    if custom_values and isInstance(custom_values,dict):
        data.update(custom_values)
    res_id = model.pool.create(cr, uid, data, context=context)
    return res_id

as you can see, you have the parameter msg_dict. Of course, in there is where you get 'the mail' as a dictionary with the different values (e.g. the body, email_from, subject). By updating custom_values.update({'name': 'whatever you want'})

If you choose to re-implement this method, you can put in a dictionary called custom_values all values that are going to be used in the creation of the new object (if any). As key you must use the name of the columns of the object being created (in this case, the lead). After this, you could even call the method message_new defined in mail_thread or not, depending in your particular requirements.

Also, when a message for an object already created arrives, the function that is being called is message_update. In there, with a similar functionality as the ut supra explained, you can put the values that you want to update for the existing object (in this case, a dictionary called update_vals is where you need to put the new values).

def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None):
    if update_vals:
        self.write(cr, uid, ids, update_vals, context=context)
5
形象
丢弃
形象
Anton
最佳答案

I solved in this way:

  1. First of all - setup "incoming mail server".

  2. Setup "Create a new record" - crm.lead.

  3. Create new server action with type "python code".

  4. There is python code example:

    def parse_description(description):
      '''
       there is parse function
       It is example for parsing messages like this:
    
       Name: John
       Phone: +100500
      '''
      fields=['name','phone']
      _dict={}
      description=description.lower()
      for line in description.split('\n'):
        for field in fields:
            if field in line:
                split_line=line.split(':')
                if len(split_line)>1:
                    pre_dict[field]=line.split(':')[1]
      return  dict
    
lead=self.browse(cr,uid,context['active_id'],context=context)
description=lead['description']
_dict=parse_description(description)
self.write(cr,uid,context['active_id'],{
                        'partner_name':_dict.get('name'),
                        'contact_name':_dict.get('name'),
                        'phone':_dict.get(u'phone'),
                        'mobile':_dict.get(u'phone')})

Of couse for good results you should know python language - the main place is "parse_description" function.

2
形象
丢弃
Arun

My requirement is to fetch mails and create leads in crm_lead :-)

I Configured Incoming Server :-) http://Pop.gmail.com With All info :-)

But How to proceed Further

Vaibhav

Thanks .... Anton Lavrenov :)

Atul Kumar jain

Atul : I got these traceback while i am fetching mail 2014-07-01 13:39:40,188 4992 INFO v8_demo openerp.addons.mail.mail_thread: Routing mail from Atul Jain <jain.atul43@gmail.com> to jain.atul10@hotmail.com with Message-Id <CAG=2G76_SRthL3ybGGyx2Lai5H=RMNxUOjRRR=+5-ODrcgtEZw@mail.gmail.com>: fallback to model:crm.lead, thread_id:False, custom_values:None, uid:1 2014-07-01 13:39:40,445 4992 ERROR v8_demo openerp.addons.fetchmail.fetchmail: Failed to fetch mail from imap server Gmail. Traceback (most recent call last): File "/home/atul/openerp-8/openerp/addons/fetchmail/fetchmail.py", line 206, in fetch_mail action_pool.run(cr, uid, [server.action_id.id], {'active_id': res_id, 'active_ids' :[res_id], 'active_model': context.get("thread_model", server.object_id.model)}) File "/home/atul/openerp-8/openerp/addons/base/ir/ir_actions.py", line 967, in run res = func(cr, uid, action, eval_context=eval_context, context=run_context) File "/home/atul/openerp-8/openerp/addons/base/ir/ir_actions.py", line 805, in run_action_code_multi eval(action.code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action' File "/home/atul/openerp-8/openerp/tools/safe_eval.py", line 254, in safe_eval return eval(c, globals_dict, locals_dict) File "", line 14, in File "", line 4, in parse_description ValueError: "'bool' object has no attribute 'lower'" while evaluating

形象
Jaysinh Shukla (jsh)
最佳答案

When the lead is created automatically through an email automation, the lead name it gets created is subject of an email which I want to customise it, currently I dont see any option to manipulate email objects before the leads gets created.

0
形象
丢弃
Jaysinh Shukla (jsh)

Can u pls explain where u had used this function lines in your python coding lead=self.browse(cr,uid,context['active_id'],context=context) description=lead['description'] _dict=parse_description(description) self.write(cr,uid,context['active_id'],{ 'partner_name':_dict.get('name'), 'contact_name':_dict.get('name'), 'phone':_dict.get(u'phone'), 'mobile':_dict.get(u'phone')})

Kurt Haselwimmer

It appears that in early 2013 the codebase was changed so the email content is no longer put into the description field of the created lead. The email that creates the lead is stored as a message that is attached to the lead and I am still working on how to extract information from this.

形象
Haresh Kansara
最佳答案

When email created then it will fill name-email, subject etc.

This video will helpful to generate lead/opportunity etc from incoming emails. It is also possible to customise that it will read email body and fill data in document fields.

#Odoo #CreateOpportunityFromIncomingEmail #OdooIncomingEmailToOpportunity #OdooOpportunity #OdooLeadGeneration #OdooAutomaticLeadGeneration

https://youtu.be/ruJ8_txhwYw​


0
形象
丢弃
喜欢讨论吗?不要只阅读,加入进来!

立即创建账户,享受专属功能,与我们的精彩社区互动!

注册
相关帖文 回复 查看 活动
How can I manage my emails related to leads and opportunities?
mail messaging crm v7
形象
1
3月 15
18814
Connect different Zoho Mails to Odoo CRM
mail crm
形象
形象
1
9月 25
823
How to stop receiving unwanted mails from OpenERP? 已解决
mail messaging
形象
形象
2
4月 23
9527
FR - Incoming mail to ... nowhere?
mail crm
形象
0
2月 23
2251
How to be in a document's followers ? 已解决
project follower mail messaging crm
形象
形象
3
3月 16
12639
社区
  • 教学视频
  • 文档
  • 论坛
开源
  • 下载
  • Github
  • Runbot
  • 翻译
服务
  • Odoo.sh 托管
  • 支持
  • 升级
  • 自定义开发服务
  • 教育
  • 查找会计服务
  • 寻找合作伙伴
  • 成为合作伙伴
关于我们
  • 我们的公司
  • 品牌资产
  • 联系我们
  • 招聘
  • 近期活动
  • 播客
  • 博客
  • 客户
  • 法律 • 隐私
  • 安全
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo致力于为企业管理提供高效智能的开源解决方案,是全球业内高速成长的软件服务商之一,逾七百五十万用户选择Odoo进行数字化升级。通过一系列全业务链覆盖、高度集成、简单易用的商业应用,助力企业实现信息化改革、降本增效并释放公司增长潜力。

Odoo独特的价值在于是一款非常容易使用又完全集成的应用。

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now