2014-09-04 1 views
1

Краткая предыстория:Как отправить HTML электронной почты через Outlook, с другой почтовый из (win32com.client)

Я пишу сценарий, чтобы отправить шаблон для работы, но я обычно отправлять сообщения, как наш Team Mailer для видимости в моей команде. Большинство из них работает так, как ожидалось, но я пропускаю действие от почты или я делаю что-то неправильно. Обычно я просто выбираю альтернативного отправителя в Outlook, когда создаю сообщение из раскрывающегося меню «ОТ».

Какой атрибут позволит мне указать другой адрес отправителя?

Что-то вроде:

newMail.From = "[email protected]" 

Упрощенная версия о том, что я работаю с, чтобы отправить HTML тело:

import win32com.client 
olMailItem = 0x0 
obj = win32com.client.Dispatch("Outlook.Application") 
newMail = obj.CreateItem(olMailItem) 
newMail.Subject = "the subject" 
#newMail.Body = "body text" 
newMail.HTMLBody = """<a href="https://google.com">Google Link</a>""" 
newMail.To = "[email protected]" 
#newMail.CC = 'Bob' 
#attachment1 = "c:\\mypic.jpg" 
#newMail.Attachments.Add(attachment1) 
newMail.Send() 

ответ

5

Я нашел его:

newMail.SentOnBehalfOfName = "[email protected]" 

Это позволило мне, чтобы отправить сообщение в наш список рассылки, используя мой профиль.

0

Согласно MailItem документы в объектной модели Outlook, что вы want is Sender Недвижимость:

Возможна немедленная регистрация или установка объявления dressEntry, который соответствует пользователю учетной записи, из которой отправляется MailItem. Читай пиши.

В слове:

В сеансе, где несколько учетных записей определяются в профиле, вы можете установить это свойство, чтобы указать учетную запись для отправки почты пункт. Установите это свойство в объект AddressEntry пользователя, который представлен свойством CurrentUser определенной учетной записи.

Если вы установите для свойства Sender значение AddressEntry, у которого нет прав для отправки сообщений по этой учетной записи, Outlook поднимет ошибку.

Итак, если «[email protected]» имеет разрешения на отправку через вашу учетную запись Outlook, так вы это делаете; если этого не произойдет, нет никакого способа сделать это.

Раздел «См. Также» содержит ссылку на полный пример (на C#, но вы должны иметь возможность перевести).