如何在Plone 4中将抄送收件人添加到电子邮件中?

如何在Plone 4中将抄送收件人添加到电子邮件中?,plone,Plone,我对Plone很陌生,正如你在标题行中看到的,我正在与Plone 4合作 尽管我对plone和Python都是新手,但我还是设法获得了一个完全可以工作的页面,可以向我的网站中用户选择的成员发送富文本邮件消息。 我所做的基本上是克隆(即复制和重命名)sendto、sendto_表单和sendto_模板,并对它们进行编辑,以获得所需的内容 正如我所说的,它工作得很好,但我需要添加一个CC收件人,但是MailHost.send()方法不允许使用CC头(尽管secureSend方法允许,但在Plone

我对Plone很陌生,正如你在标题行中看到的,我正在与Plone 4合作

尽管我对plone和Python都是新手,但我还是设法获得了一个完全可以工作的页面,可以向我的网站中用户选择的成员发送富文本邮件消息。 我所做的基本上是克隆(即复制和重命名)sendto、sendto_表单和sendto_模板,并对它们进行编辑,以获得所需的内容

正如我所说的,它工作得很好,但我需要添加一个CC收件人,但是MailHost.send()方法不允许使用CC头(尽管secureSend方法允许,但在Plone 4中它是一个不推荐使用的方法)。 我还使用了一个模板来让用户添加附件,该模板可在上获得

我知道python email.Header函数正是我所需要的,但是当我尝试导入库时,我得到一个特权不足错误(我以管理员身份登录)

我还尝试使用以下方法解决此问题:

       templ="""Subject: %(subject)s
From: "%(send_from_name)s" <%(envelope_from)s>
To: %(send_to_address)s
CC: %(send_cc_address)s
Content-Type: text/html; charset=UTF-8
Reply-To: %(send_from_address)s

%(comment)s
--
%(signature)s
"""

       message=templ % variables
       context.MailHost.send(message.encode("utf-8"),encode="quoted-printable")
temp=“”主题:%(主题)s
发件人:“%(发送发件人姓名)s”
收件人:%(发送至地址)s
抄送:%(发送抄送地址)s
内容类型:text/html;字符集=UTF-8
回复:%(从地址发送)s
%(评论)s
--
%(签名)s
"""
message=temp%变量
context.MailHost.send(message.encode(“utf-8”),encode=“quoted printable”)
它几乎可以正常工作,但不能接受重音字符(这在意大利语中非常常见)

有什么想法吗

Thx提前


Luca

您已经达到了可以在plone中使用TTW的安全python脚本环境的极限。不允许在此类型的脚本中导入电子邮件模块

MailHost对象上的旧secureSend方法曾具有cc的方法参数,在最新版本中,该方法似乎已被删除,该版本仅具有“send”方法而没有cc参数

这意味着您必须将代码移动到视图中文件系统上的产品,才能使用cc部件