[分享]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 /> <br /> subject = u'测试邮件'<br /> body = u'收到OK'<br /><br /> email_from = '发件人邮件地址'<br /> addresses = [收件人邮件地址列表]<br /> attachments = []<br /> for i in range(3):<br /> fp = file(r'c:\test.png', 'rb')<br /> attachments.append(('test'+str(i), fp.read()))<br /> fp.close()<br /><br /> msg = ir_mail_server.build_email(email_from, addresses, subject, body, attachments=attachments)<br /> res = ir_mail_server.send_email(cr, uid, msg,<br /> mail_server_id=mail.id, context=context) #mail 为 从OE系统中 search 出的 可用的 outgoing smtp server<br />....<br />
特分享, 感谢大家观看....