自動電子郵件廣泛用於向訂閱者發送通知或其他消息。此外,還會根據用戶的動作或行為觸發各種電子郵件。為了實現電子郵件自動化,本文介紹瞭如何在 Python 中通過 SMTP 發送電子郵件。此外,我們還將演示如何從頭開始創建包含純文本或 HTML 正文的電子郵件消息。
通過 SMTP 發送電子郵件的 Python 庫
為了使用 SMTP 創建和發送電子郵件,我們將使用 Aspose.Email for Python via .NET。它是一個功能強大的 Python 庫,可讓您實現功能豐富的電子郵件客戶端。您可以使用以下命令從 PyPI 安裝 API。
pip install Aspose.Email-for-Python-via-NET
或者,您可以按照以下步驟進行手動安裝。
在 Python 中通過 SMTP 發送電子郵件
以下是在 Python 中通過 SMTP 創建和發送電子郵件的步驟。
- 創建 MailMessage 類的對象。
- 設置主題、正文、發件人和收件人的地址。
- 設置抄送或密件抄送(可選)。
- 使用 SmtpClient 類創建一個新的 SMTP 客戶端並設置主機、端口、用戶名和密碼。
- 設置安全選項。
- 使用 SmtpClient.send(MailMessage) 方法發送電子郵件。
以下代碼示例展示瞭如何在 Python 中創建和發送電子郵件。
# 創建電子郵件
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# 創建 SMTP 客戶端
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# 發送電子郵件
client.send(eml)
在 Python 中發送帶有 HTML 正文的電子郵件
以下是在 Python 中發送帶有 HTML 正文的電子郵件的步驟。
- 創建 MailMessage 類的對象。
- 使用 MailMessage.bodyhtml 屬性設置電子郵件正文。
- 將 MailMessage.isbodyhtml 屬性設置為 true。
- 分配主題、發件人和收件人的地址。
- 設置抄送或密件抄送(可選)。
- 使用 SmtpClient 類創建一個新的 SMTP 客戶端並設置主機、端口、用戶名和密碼。
- 使用 SmtpClient.send(MailMessage) 方法發送電子郵件。
以下代碼示例顯示瞭如何在 Python 中發送帶有 HTML 正文的電子郵件。
# 使用 HTML 正文創建電子郵件
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.is_body_html = True
eml.html_body = "<html><body>This is the <b>HTML</b>body</body></html>"
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# 創建 SMTP 客戶端
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# 發送電子郵件
client.send(eml)
用於發送批量電子郵件的 Python 代碼
以下是使用 Python 發送群發郵件的步驟。
- 使用 MailMessage 類創建多封電子郵件並設置它們的屬性,例如主題、收件人等。
- 創建 MailMessageCollection 類的對象。
- 使用 MailMessageCollection.append(MailMessage) 方法將電子郵件添加到集合中。
- 使用 SmtpClient 類創建一個新的 SMTP 客戶端並設置主機、端口、用戶名和密碼。
- 使用 SmtpClient.send(MailMessageCollection) 方法發送電子郵件。
以下代碼示例顯示瞭如何在 Python 中通過 SMTP 發送批量電子郵件。
# 創建多封電子郵件
message1 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message1, how are you?")
message2 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message2, how are you?")
message3 = MailMessage("from@gmail.com", "to@gmail.com", "Sending Bulk Emails using Aspose.Email", "message3, how are you?")
# 將消息添加到集合
manyMsg = MailMessageCollection()
manyMsg.append(message1)
manyMsg.append(message2)
manyMsg.append(message3)
# 創建 SMTP 客戶端
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
# 發電子郵件
client.send(manyMsg)
如何在 Python 中轉發電子郵件消息
以下是在 Python 中轉發電子郵件的步驟。
- 使用 MailMessage.load(String fileName) 方法將電子郵件加載到對像中。
- 設置收件人地址。
- 使用 SmtpClient 類創建 SMTP 客戶端。
- 使用 SmtpClient.forward() 方法轉發消息。
以下代碼示例顯示瞭如何在 Python 中轉發電子郵件。
# 加載要轉發的電子郵件
eml = MailMessage.load("Message.eml")
# 設置收件人
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
# 使用 Smtp 客戶端發送
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.forward("Recipient1@domain.com", "Recipient2@domain.com", eml)
用於發送電子郵件的 Python 庫 - 獲取免費許可證
您可以獲得 免費臨時許可證 並通過 SMTP 發送電子郵件而不受評估限制。
用於 Python 的 Aspose 電子郵件庫 - 現場演示
結論
在本文中,您學習瞭如何在 Python 中通過 SMTP 創建和發送電子郵件。此外,您還看到瞭如何以編程方式發送帶有純文本或 HTML 正文的批量電子郵件。您可以使用 文檔 探索有關 Python 電子郵件 API 的更多信息。如果您有任何問題或疑問,請隨時通過我們的 論壇 告訴我們。