我正在使用emails
庫來發送郵件,但我也需要將它保存爲.msg
文件。我已經做了一些研究,並且還閱讀了msg格式規範,並偶然發現了this SO answer,它顯示瞭如何將郵件發送到C#
中的文件系統,我想知道它是否也可以在Python中使用。在Python中保存爲.msg文件,或者發送郵件到文件系統
1
A
回答
3
這是可能的,容易。我們假設msg
是以前編寫的包含所有標題和內容的消息,並且您要將其寫入文件對象out
。你只需要:
gen = email.generator.Generator(out) # create a generator
gen.flatten(msg) # write the message to the file object
完整的示例:
import email
# create a simple message
msg = email.mime.text.MIMEText('''This is a simple message.
And a very simple one.''')
msg['Subject'] = 'Simple message'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
# open a file and save mail to it
with open('filename.elm', 'w') as out:
gen = email.generator.Generator(out)
gen.flatten(msg)
filename.elm的內容是:
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Simple message
From: [email protected]
To: [email protected]
This is a simple message.
And a very simple one.
-1
它是在Python可行的,我想下面的代碼,節省展望郵件作爲.msg文件夾中。 注意:確保outlook具有對目標文件夾的寫入權限,默認情況下目標文件夾是Python腳本的位置
import win32.com
outlook=Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox=outlook.GetDefaultFolder(6)
messages=inbox.items
for msg in messages:
name=msg.subject
name=str(name)
name=name+".msg"
msg.saveas(name)
相關問題
- 1. 發送電子郵件時重新保存.MSG文件
- 2. Python:保存.msg文件中的附件
- 3. ASP.NET發送圖像附件與電子郵件不保存到文件系統
- 4. 發送保存在文件系統中的html文件作爲響應
- 5. 電子郵件系統,發送或保存按鈕選項
- 6. 在數據庫或文件系統中保存PDF文件
- 7. 將outlook郵件保存到系統文件夾中的單個.txt文件中
- 8. 保存使用javax郵件發送郵件發送郵件文件夾
- 9. 將發送的郵件保存到用戶發送的郵件文件夾
- 10. 加載和發送電子郵件保存爲文本文件
- 11. 使用EWS API將郵件保存到msg文件
- 12. 保存文件並作爲電子郵件附件發送
- 13. android:文件保存系統
- 14. 將文檔保存爲SQL或文件系統中的BLOB
- 15. 使用ews在正常文件系統文件夾中保存Exchange郵件
- 16. 我如何確保我的郵件($ to,$ subject,$ msg);發送郵件
- 17. 保存System.Net.mail.MailMessage作爲.msg文件
- 18. 如何將文件系統的內容保存到文件中
- 19. 將音頻文件保存爲數據庫中的BLOB或文件系統中?
- 20. 目標C:將發送的電子郵件保存爲文件
- 21. 將pdf保存到文件系統
- 22. 如何將SMTP郵件保存到發送的文件夾?
- 23. 將文件另存爲lob或作爲操作系統文件?
- 24. 如何將創建的Zip文件保存到Python中的文件系統?
- 25. Cordova將文件從輸入文件保存到文件系統=「文件」
- 26. 如何將保存的文本文件作爲電子郵件附件發送
- 27. 在AWS文件系統中保存文件
- 28. 在Web API服務器文件系統中保存文件
- 29. VBA作者和發送日期的.msg文件在桌面文件夾
- 30. Python - 如何使用unicode文件名從文件系統發送文件?
謝謝。我從我的'emails'實例創建了一個'email'實例,它工作正常,但是有沒有辦法將它保存爲'msg'而不是'eml'?我試圖用open('filename.elm','w')'將'open'('filename.msg','w')'改成''但是(如預期的)outlook無法打開該文件。 – DeepSpace
@DeepSpace msg格式是一種二進制專有格式。使用它的唯一合理方式是通過展望自動化。在SO中搜索'[python] outlook msg file'給了[這個問題](http://stackoverflow.com/q/18066180/),可以給你一些提示。我無法進一步幫助你,因爲我幾十年來一直沒有使用outlook。 –