zoukankan      html  css  js  c++  java
  • Python 调用outlook发送邮件(转 )

    单账号:

    import win32com.client as win32
    
    def send_mail():
        outlook = win32.Dispatch('Outlook.Application')
    
        mail_item = outlook.CreateItem(0) # 0: olMailItem
    
        mail_item.Recipients.Add('test@test.com')
        mail_item.Subject = 'Mail Test'
    
        mail_item.BodyFormat = 2          # 2: Html format
        mail_item.HTMLBody  = '''
            <H2>Hello, This is a test mail.</H2>
            Hello Guys. 
            '''
        mail_item.Attachments.Add('<附件文件路径>')    
        mail_item.Send()
    
    if __name__ == '__main__':
        send_mail()
    

      

    多账号:

    def send_mail():
        outlook_app = win32.Dispatch('Outlook.Application')
    
        # choose sender account
        send_account = None
        for account in outlook_app.Session.Accounts:
            if account.DisplayName == 'sender@hotmail.com':
                send_account = account
                break
    
        mail_item = outlook_app.CreateItem(0)   # 0: olMailItem
    
        # mail_item.SendUsingAccount = send_account not working
        # the following statement performs the function instead
        mail_item._oleobj_.Invoke(*(64209, 0, 8, 0, send_account))
    
        mail_item.Recipients.Add('receipient@qq.com')
        mail_item.Subject = 'Test sending using particular account'
        mail_item.BodyFormat = 2   # 2: Html format
        mail_item.HTMLBody = '''
            <H2>Hello, This is a test mail.</H2>
            Hello Guys. 
            '''
    
        mail_item.Send()
    
    
    if __name__ == '__main__':
        send_mail()  

    详细参见原文https://www.jianshu.com/p/4f0ed762f521 

    给多个地址发邮件:

    import win32com.client as win32
    import pythoncom
    
    pythoncom.CoInitialize()
    
    
    def send_mail(**kwargs):
        outlook = win32.Dispatch('Outlook.Application')
        reciList = ['user1@test.com','user2@test.com']
        for i in range(len(reciList)): 
            mail_item = outlook.CreateItem(0) # 0: olMailItem 
            mail_item.Recipients.Add(reciList[i])
            mail_item.Subject = 'Mail Test'
            mail_item.BodyFormat = 2          # 2: Html format
            mail_item.HTMLBody  = '''
                <H2>Hello, This is a test mail~~.</H2>
                Hello Guys. '''
    
            # mail_item.Attachments.Add('d:docIT Info.xlsx')    
            mail_item.Send()
    
    if __name__ == '__main__':
        send_mail()
    

      

  • 相关阅读:
    VMware 中安装Centos
    go with go
    [APIO2012]派遣【左偏树】
    后缀自动机三·重复旋律6
    AC自动机(二次加强版)
    [HAOI2016]找相同字符【GSAM广义后缀自动机】
    吉司机线段树【学习笔记】
    [ZJOI2015]诸神眷顾的幻想乡【GSAM】
    广义后缀自动机(广义 SAM)【模板】
    Important Sisters【HDU-4694】【Dominator Tree】
  • 原文地址:https://www.cnblogs.com/luoye00/p/11319107.html
Copyright © 2011-2022 走看看