![](/img/trans.png)
[英]Trying to extract “Reply-To” header field in Python, not getting the email address
[英]Python automated Outlook email: change sender or default reply-to address
我使用的代碼類似於Steve Townsend對這個問題的回答: Send Outlook Email Via Python? 通過運行 python 腳本發送電子郵件。 如何編輯默認回復地址,以便當有人回復自動電子郵件時,它會被發送到特定地址? 或者,我可以修改發送電子郵件的地址嗎? 我試圖修改 Msg.SentOnBehalfOfName 屬性,但沒有成功。 請注意,該地址是別名,因此我無法在 Outlook 中登錄該帳戶。
import win32com.client
def send_mail_via_com(text, subject, recipient, profilename="Outlook2003"):
s = win32com.client.Dispatch("Mapi.Session")
o = win32com.client.Dispatch("Outlook.Application")
s.Logon(profilename)
Msg = o.CreateItem(0)
Msg.To = recipient
Msg.CC = "moreaddresses here"
Msg.BCC = "address"
Msg.Subject = subject
Msg.Body = text
attachment1 = "Path to attachment no. 1"
attachment2 = "Path to attachment no. 2"
Msg.Attachments.Add(attachment1)
Msg.Attachments.Add(attachment2)
Msg.Send()
您可以嘗試以下代碼自由選擇發件人地址和收件人地址。
import win32com.client as win32
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@outlook.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()
如果你感興趣,你可以參考這個案例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.