我一直在阅读official docs关于使用某些模板从Plone发送电子邮件的问题,到目前为止它还在运行。
我的问题是:如何使用模板方法添加附件?
答案 0 :(得分:4)
MailHost.send
命令同时包含python(unicode)字符串和email.Message
个对象。这意味着您可以使用python email package构建带附件的正确MIME消息。
标准库包括a great page of examples;任何文本仍然可以通过模板生成,就像您链接的文档一样。
答案 1 :(得分:3)
使用Python的电子邮件模块。
示例:
http://docs.python.org/library/email-examples.html
组合的消息可以传递给context.MailHost(Zope的MTA)。
在每种情况下,都可以更好地从Python级别生成和发送电子邮件,而不是使用旧的DTML sendmail外观...不要使用它。
答案 2 :(得分:1)
这是我的解决方案,也许它不是最好的:
在portal_skin / custom中创建一个mime_file DTML方法:
<dtml-mime type="text/text; charset=utf-8" encode="7bit">
<dtml-var "text">
<dtml-boundary type="application/octet-stream" disposition="attachment"
filename_expr="nomefile"><dtml-var "file"></dtml-mime>
将其称为(例如从Python脚本中):
message = context.mime_file(file=a_file, text=message, nomefile='attach_name.pdf')
context.MailHost.send(message, mTo, mFrom, mSubj)
其中a_file是文件的内容。
受到启发:
http://www.zope.org/Members/visibleoffice/HowTo.2003-10-22.1455
使用Python脚本,这是一个快速而简单的解决方案。