Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

[分享]OpenERP7.0中发送带附件邮件的方法



  • 在OpenERP 中, 需要向客户发送相关的带附件的邮件. 经 上海-Joshua 指点, 阅读

    \addons\email_template\email_template.py @ send_mail 方法
    追溯到
    \addons\mail\mail_mail.py @ send 方法

    了解到
    主要实现是由 ir.mail_server 对象的两个重要的方法来实现

    1 是 ir.mail_server.build_email 方法
        build_email 方法, 主要将传入的 发件人, 收件人, 主题, 邮件内容, 抄送, 回复人, 附件等参数 按 RFC2822 进行编码. 输出为 标准的 RFC2822 邮件 Message 串.

    2 是 ir.mail_server.send_email 方法
      将上面方法生成的 RFC2822 Message 串, 使用SMTP协议发送出去.


    相关代码

    <br /><br />....<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; subject = u&#039;测试邮件&#039;<br />&nbsp; &nbsp; &nbsp; &nbsp; body = u&#039;收到OK&#039;<br /><br />&nbsp; &nbsp; &nbsp; &nbsp; email_from = &#039;发件人邮件地址&#039;<br />&nbsp; &nbsp; &nbsp; &nbsp; addresses&nbsp; = [收件人邮件地址列表]<br />&nbsp; &nbsp; &nbsp; &nbsp; attachments = &#91;]<br />&nbsp; &nbsp; &nbsp; &nbsp; for i in range(3):<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fp = file(r&#039;c:\test.png&#039;, &#039;rb&#039;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attachments.append((&#039;test&#039;+str(i), fp.read()))<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fp.close()<br /><br />&nbsp; &nbsp; &nbsp; &nbsp; msg = ir_mail_server.build_email(email_from, addresses, subject, body, attachments=attachments)<br />&nbsp; &nbsp; &nbsp; &nbsp; res = ir_mail_server.send_email(cr, uid, msg,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mail_server_id=mail.id, context=context)&nbsp; &nbsp; #mail 为 从OE系统中&nbsp; search 出的 可用的 outgoing smtp server<br />....<br />
    



    特分享, 感谢大家观看....



  • 谢谢分享,围观



  • 🙂 V5


Log in to reply