Попытка автоматизировать отправку электронной почты через python.Error при использовании пакета docxpy для копирования файла docx в переменную - PullRequest
0 голосов
/ 31 октября 2018

Попытка автоматизировать отправку электронной почты через python. Я скопировал содержимое файла docx в переменную, записав его в содержимое почты. Но гиперссылки Word из docx не копируются, пробовал использовать пакет docxpy , который делает именно то, что нужно, но я получаю эту ошибку " TypeError: Объекты типа 'DOCReader' не могут быть преобразованы в COM VARIANT (но получение buffer () этого объекта может)". Может кто-нибудь объяснить, что такое" получение buffer () этого объекта ".

Код:

import docxpy
mail = input("Type the Message through which mail should be replied:")
contentfinal = docxpy.DOCReader("C:\\loc\\loc\\loc\\loc\\loc.docx")
contentfinal.process()  # process file
hyperlinks = contentfinal.data['links']
#contentfinal = docx2txt.process("C:\\loc\\loc\\loc\\loc\\loc.docx")  #Enter location where you store ur loc.docx which i have sent you in mail
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
root_folder = outlook.GetDefaultFolder(6)
messages = root_folder.Items  
message = messages.GetLast()
messages.Sort("[ReceivedTime]", True)
for message in messages :
    if message.Subject == mail  :
        reply = message.Reply()
        temp = message.body
        print("Mail Found...")
        found = 1
        break
if found == 0:
    print ("Not found")
    sys.exit()
servername = input("Enter CE which is not under our scope :")
reply.Subject = mail
reply.BodyFormat = 2 
#contentfinal = contentfinal[:24] + servername + contentfinal[24:]
reply.Body = contentfinal
reply.Body = reply.Body + temp
reply.To = message.SenderName 
reply.Cc = "loc@loc.com"
s = input("Want to attach something (y/n):")
if s == "y" or s == "Y":
    att = input("Enter attachment:")
    attachment1 = "C:\\loc\\loc\\loc\\loc\\" + att #Give the location where you store your screenshots
    reply.Attachments.Add(Source=attachment1)
reply.display()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...