Python使用TITUS分类发送outlook电子邮件

Python使用TITUS分类发送outlook电子邮件,python,vba,excel,email,Python,Vba,Excel,Email,我需要使用python发送一封电子邮件,绕过当前脚本中出现的TITUS分类弹出窗口。弹出窗口阻止它自动发送 蟒蛇 olMailItem = 0x0 obj = win32com.client.Dispatch("Outlook.Application") newMail = obj.CreateItem(olMailItem) newMail.Subject = "My Subject" newMail.Body = "My Body" newMail.To = "myemail@gmail.

我需要使用python发送一封电子邮件,绕过当前脚本中出现的TITUS分类弹出窗口。弹出窗口阻止它自动发送

蟒蛇

olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "My Subject"
newMail.Body = "My Body"
newMail.To  = "myemail@gmail.com"
newMail.send()
VBA

我有一个VBA解决方案来自动发送电子邮件,但是将所有内容都放在PYTHON脚本中比创建VBA宏并调用它更简单、更直观

Dim AOMSOutlook As Object
Dim AOMailMsg As Object
Set AOMSOutlook = CreateObject("Outlook.Application")
Dim objUserProperty As Object
Dim OStrTITUS As String
Dim lStrInternal As String
Set AOMailMsg = AOMSOutlook.CreateItem(0)

Set objUserProperty = AOMailMsg.UserProperties.Add("TITUSAutomatedClassification", 1)
objUserProperty.Value = "TLPropertyRoot=ABCDE;Classification=For internal use only;Registered to:My Companies;"
With AOMailMsg
  .To = "myemail@gmail.com"
  .Subject = "My Subject"
  .Body = "My Body"
  .Send
End With

Set AOMailMsg = Nothing
Set objUserProperty = Nothing
Set AOMSOutlook = Nothing
Set lOMailMsg = Nothing
Set objUserProperty = Nothing
Set lOMSOutlook = Nothing

非常感谢您的帮助

这应该能帮到你

SMTPserver = 'smtp.att.yahoo.com'
sender =     'me@my_email_domain.net'
destination = ['recipient@her_email_domain.com']

USERNAME = "USER_NAME_FOR_INTERNET_SERVICE_PROVIDER"
PASSWORD = "PASSWORD_INTERNET_SERVICE_PROVIDER"

# typical values for text_subtype are plain, html, xml
text_subtype = 'plain'


content="""\
Test message
"""

subject="Sent from Python"

import sys
import os
import re

from smtplib import SMTP_SSL as SMTP       # this invokes the secure SMTP protocol (port 465, uses SSL)
# from smtplib import SMTP                  # use this for standard SMTP protocol   (port 25, no encryption)

# old version
# from email.MIMEText import MIMEText
from email.mime.text import MIMEText

try:
    msg = MIMEText(content, text_subtype)
    msg['Subject']=       subject
    msg['From']   = sender # some SMTP servers will do this automatically, not all

    conn = SMTP(SMTPserver)
    conn.set_debuglevel(False)
    conn.login(USERNAME, PASSWORD)
    try:
        conn.sendmail(sender, destination, msg.as_string())
    finally:
        conn.quit()

except Exception, exc:
    sys.exit( "mail failed; %s" % str(exc) ) # give a error message
有关更多详细信息,请参阅此链接


将以下代码添加到发送功能的末尾,并选择TITUS分类:

mailUserProperties  = newMail.UserProperties.Add("gmail.comClassification", 1)
mailUserProperties.Value = "For internal use only" 
newMail.Display() 
newMail.Send()

你真的需要
Outlook
来发送邮件吗?您不能使用
smtplib
直接发送。我尝试了smtplib,但在连接到服务器时收到一个错误,使用outlook会更有用此答案似乎与“gmail.comClassification”一起使用,它与自定义TITUS加载项不起作用。知道如何设置这些的分类属性吗?代码无法处理OUTLOOK mail中的TITUS分类弹出框