跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. [分享]OpenERP7.0中发送带附件邮件的方法

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
4 帖子 3 发布者 5.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • mrshellyM 离线
    mrshellyM 离线
    mrshelly
    写于 最后由 编辑
    #1

    在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 />
    



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

    1 条回复 最后回复
    0
    • C 离线
      C 离线
      ccdos
      写于 最后由 编辑
      #2

      谢谢分享,围观

      1 条回复 最后回复
      0
      • D 离线
        D 离线
        davidmayb
        写于 最后由 编辑
        #3

        🙂 V5

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组