OpenERP自动回复电子邮件

时间:2012-11-16 15:31:28

标签: python-2.7 openerp erp

我已经安装了两个版本的OpenERP。一个在我的本地机器上,另一个在远程机器上。我今天尝试为我的客户配置收到电子邮件的自动回复电子邮件。

所以,在设置 - >配置 - > 要对传入邮件执行的操作的传入邮件服务器 我设置:

  • 创建新记录:crm.lead
  • 服务器操作:auto_reply

当然,我创建了 auto_reply 服务器操作并设置了以下字段:

  • 操作名称:auto_reply
  • 对象:crm.lead
  • 操作类型:电子邮件
  • 序列:5
  • 条件:正确
  • 电子邮件地址:object.email_from
  • 主题:blah blah blah
  • 消息:blah blah blah

在我的本地机器上,这完美地工作。我总是收到自动回复电子邮件。但是,在远程计算机上自动回复不适用于这种情况,但是当我将静态电子邮件(例如example@gmail.com)放在电子邮件地址字段而不是* object.email_from *时正常工作。

我查看了远程计算机上的日志文件,并看到以下错误:

2012-11-16 14:46:23,288 7968 ERROR ? fetchmail: Failed to fetch mail from imap server Google server
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/openerp/addons/fetchmail/fetchmail.py", line 195, in fetch_mail
    action_pool.run(cr, uid, [server.action_id.id], {'active_id': res_id, 'active_ids':[res_id]})
  File "/usr/lib/pymodules/python2.6/openerp/addons/base/ir/ir_actions.py", line 685, in run
    res_email = ir_mail_server.send_email(cr, uid, msg)
  File "/usr/lib/pymodules/python2.6/openerp/addons/base/ir/ir_mail_server.py", line 382, in send_email
    assert smtp_to_list, "At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)"
AssertionError: At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)

本地机器上的OpenERP版本:OpenERP Server 6.1-20121001-232851

远程计算机上的OpenERP版本:OpenERP Server 6.1-1

因为本地和远程计算机上的不同版本我看到一些文件不同,例如* ir_mail_server.py *

这是一个错误吗?有人能指出我,如何解决问题。我没有远程计算机上的完全访问权限,因此我无法在本地计算机上安装版本作为版本。但是,我可以改变一些源代码行。这不是一个问题。

如果我用最新版本的OpenERP覆盖 base 模块,并运行:

openerp-server -d mydb -u base

因为,我已经安装了很多模块并且有很多有用的数据,这个动作会有一些后果吗?谢谢。

干杯

2 个答案:

答案 0 :(得分:0)

从错误消息中我猜测object.email_from可能为空。我建议您使用--debug选项启动服务器,(pdb)提示符使用

等命令检查变量
pp msg

(提示:输入h以获取有关可用命令的帮助。)

答案 1 :(得分:0)

但是,我可以访问远程计算机并更新OpenERP服务器。上面配置的自动回复现在可以正常工作。

我的新版本:OpenERP Server 6.1-20121116-003252