PYTHON/OUTLOOK通过PYTHON与DOCX发送电子邮件
问题描述:
我必须通过python发送邮件。有用。这几乎完成了。唯一的问题是我必须保持格式。所以要么我必须发送电子邮件为HTML(然后用html而不是.docx重写模板)或复制.docx文件,扩展名为 任何人有任何想法如何做到这一点?多谢你们。PYTHON/OUTLOOK通过PYTHON与DOCX发送电子邮件
import win32com.client as win32
import fileinput as fi
from docx import Document
outlook = win32.Dispatch('outlook.application')
path_in = 'maillist.csv'
input_file = open(path_in, 'r')
document = Document('template.docx')
document_html = open('template.html', 'r')
print(temp)
def filecount(fname):
for line in fi.input(fname):
pass
return fi.lineno()
print("Total mails %s" % (filecount(path_in)))
count = 0
for line in input_file:
if (count>16):
name = line.split(";")[0]
mail_adress = line.split(";")[1]
subject = line.split(";")[2]
print ("%s:%s:%s:" % (name, mail_adress, subject))
mail = outlook.CreateItem(0)
mail.To = mail_adress
mail.Subject = subject
mail.body = temp.replace("XXXNAMEXXX", name)
mail.send
else:
count+=1
答
尝试添加.RTFBody
和/或.HTMLBody
方法的文档对象:
document = Document('template.docx').RTFBody
document_html = open('template.html', 'r').HTMLBody
而且,我不知道,如果它使多大的差别,但对于约定的缘故,我喜欢将该方法的第一个字母大写为mailItem
对象。
让我知道这是否有效。