win32com не отправляет вложения

Это мой первый вопрос, поэтому я надеюсь, что все в порядке.

Я пытаюсь отправить электронное письмо с вложением с помощью Python, используя win32com с Outlook 2010. И он отправляет электронное письмо. Но это не отправка вложения. Я основал свой код на примере, приведенном здесь.

def email_tamplate(*args):
  Format = { 'UNSPECIFIED' : 0, 'PLAIN' : 1, 'HTML' : 2, 'RTF'  : 3}
  profile = "Outlook"
  #session = win32com.client.Dispatch("Mapi.Session")
  outlook = win32com.client.Dispatch("Outlook.Application")
  #session.Logon(profile)
  mainMsg = outlook.CreateItem(0)
  mainMsg.To = str(login_entry.get())+"@amazon.com"
  mainMsg.Subject = "Sauron personal report request between "+str(start_date.get())+" and "+str(end_date.get())
  mainMsg.BodyFormat = Format['RTF']
  mainMsg.HTMLBody = body

  try:
    attachment1= ('C:\\Users\\' + str(login_entry.get()) + '\\My Documents\\status_email.csv')
    mainMsg.Attachments.Add(attachment1)
  except:
    pass                                   

  mainMsg.Send()

Вот сообщение об ошибке, которое я получаю, когда не использую Try / except:

Исключение в обратном вызове Tkinter Traceback (последний вызов последним): файл «C: \ Python33 \ lib \ tkinter__init __. Py», строка 1475, в вызове return self.func (* args) Файл «C: \ Users \ alvaros \ Dev \ Sauron \ v2 \ Sauron v2.2.1.py ", строка 478, в файле status_email email_tamplate ()" C: \ Users \ alvaros \ Dev \ Sauron \ v2 \ Sauron v2.2.1.py ", строка 424, в email_tamplate mainMsg.Attachments.Add (attachment1) Файл ">", строка 3, в Добавить pywintypes.com_error: (-2147352567, 'Произошло исключение.', (4096, 'Microsoft Outlook', "Вы не иметь соответствующее разрешение на выполнение этой операции. ", Нет, 0, -2147024891), Нет)

Все работает, кроме того, что вложение не отправляется. Путь к вложению правильный, и файл есть.

Спасибо.


person Alvaro Morales Solis    schedule 14.07.2014    source источник
comment
Удалите команду try / except и посмотрите, не возникает ли ошибка. Если да, опубликуйте исключение в вопросе.   -  person Mike Driscoll    schedule 15.07.2014
comment
Я только что сделал. Спасибо.   -  person Alvaro Morales Solis    schedule 15.07.2014
comment
Если вы добавите строку print "attachment exists:", os.path.exists(attachment1), выводится ли она True? Что, если вы попытаетесь прикрепить простой текстовый файл?   -  person Oliver    schedule 15.07.2014
comment
При вводе этой строки он ничего не печатает. И та же ошибка выдает при прикреплении простого текстового файла.   -  person Alvaro Morales Solis    schedule 15.07.2014


Ответы (2)


Возможно, вам придется запустить программу от имени администратора, или, если это не сработает, [введите здесь описание ссылки] [1] вам может потребоваться использовать «Расширенный MAPI», чтобы заставить это работать:

С другой стороны, в этой ветке говорилось о редактировании свойств самого файла PST или редактировании его свойств в реестре Windows:

person Mike Driscoll    schedule 14.07.2014
comment
Спасибо. Я пробовал как администратор, и это дает мне еще одну ошибку: сбой выполнения сервера. Я также попробовал расширенный MAPI, как указано в предоставленной вами ссылке. И все равно получаю ошибку: (-2147024809, 'Неверный параметр.', Нет, Нет) - person Alvaro Morales Solis; 15.07.2014

Это уже было решено. Спасибо вам за помощь. Возможно, это была проблема с отступом. Потому что она в основном решалась сама собой.

person Alvaro Morales Solis    schedule 16.07.2014