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

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

Odoo 中文社区

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

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
4 帖子 3 发布者 6.4k 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • M 离线
    M 离线
    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
        • 版块
        • 标签
        • 热门
        • 用户
        • 群组