Python SMTP郵件發送教程:快速發送郵件到指定郵箱

在疫情期間,疫情防控、銷售推廣等方面郵件變得越來越重要,如何實現快速地發送郵件是我們需要面對的問題。Python中的smtplib庫提供了實現SMTP郵件發送的方法,不僅發送郵件快速,而且也可以實現郵件的自動發送。在本文中,將詳細介紹如何使用Python發送郵件,主要包括以下方面介紹:

一、準備工作

在使用Python發送郵件前,需要先準備好以下工作:

1、獲取郵箱SMTP服務器地址和端口號。不同的郵箱提供商服務器和端口號不一樣,可參考以下對應表:

郵箱提供商SMTP服務器地址端口號
QQ郵箱smtp.qq.com587
163郵箱smtp.163.com25
126郵箱smtp.126.com25
新浪郵箱smtp.sina.com25

2、確保郵箱已經開啟SMTP服務和POP3/IMAP服務,開啟方法可在對應郵箱設置中找到。

3、獲取發件人郵箱地址和密碼以及收件人郵箱地址。

準備工作完成後,就可以開始使用Python發送郵件了。

二、Python SMTP郵件發送

1、首先需要導入smtplib庫和MIMEText庫。

import smtplib
from email.mime.text import MIMEText

2、定義郵件內容並創建MIMEText對象。

sender = '發件人郵箱地址'
password = '發件人郵箱密碼'
receiver = '收件人郵箱地址'

message = MIMEText('郵件內容', 'plain', 'utf-8')
message['From'] = sender
message['To'] = receiver
message['Subject'] = '郵件主題'

3、定義SMTP服務器地址和端口號,並登錄SMTP服務器。

smtp_server = 'SMTP服務器地址'
smtp_port = 'SMTP端口號'

server = smtplib.SMTP(smtp_server, smtp_port)
server.login(sender, password)

4、發送郵件。

server.sendmail(sender, [receiver], message.as_string())

server.quit()

5、完整的Python SMTP郵件發送代碼如下:

import smtplib
from email.mime.text import MIMEText

sender = '發件人郵箱地址'
password = '發件人郵箱密碼'
receiver = '收件人郵箱地址'

message = MIMEText('郵件內容', 'plain', 'utf-8')
message['From'] = sender
message['To'] = receiver
message['Subject'] = '郵件主題'

smtp_server = 'SMTP服務器地址'
smtp_port = 'SMTP端口號'

server = smtplib.SMTP(smtp_server, smtp_port)
server.login(sender, password)

server.sendmail(sender, [receiver], message.as_string())

server.quit()

三、實現批量發送郵件

以上介紹了如何實現單封郵件的發送,實際應用中我們更多需要批量發送郵件。下面介紹如何實現批量發送郵件:

1、假設我們需要給多個收件人發送郵件,並且每個收件人郵件內容不同。首先定義收件人和郵件內容。

receivers = ['收件人1郵箱地址', '收件人2郵箱地址', '收件人3郵箱地址']
messages = [
    {'Subject': '郵件1主題', 'Content': '郵件1內容'},
    {'Subject': '郵件2主題', 'Content': '郵件2內容'},
    {'Subject': '郵件3主題', 'Content': '郵件3內容'}
]

2、使用for循環批量發送郵件。

for receiver, message in zip(receivers, messages):
    message = MIMEText(message['Content'], 'plain', 'utf-8')
    message['From'] = sender
    message['To'] = receiver
    message['Subject'] = message['Subject']

    server.sendmail(sender, [receiver], message.as_string())

3、完整的Python批量發送郵件代碼如下:

import smtplib
from email.mime.text import MIMEText

sender = '發件人郵箱地址'
password = '發件人郵箱密碼'
receivers = ['收件人1郵箱地址', '收件人2郵箱地址', '收件人3郵箱地址']
messages = [
    {'Subject': '郵件1主題', 'Content': '郵件1內容'},
    {'Subject': '郵件2主題', 'Content': '郵件2內容'},
    {'Subject': '郵件3主題', 'Content': '郵件3內容'}
]

smtp_server = 'SMTP服務器地址'
smtp_port = 'SMTP端口號'

server = smtplib.SMTP(smtp_server, smtp_port)
server.login(sender, password)

for receiver, message in zip(receivers, messages):
    message = MIMEText(message['Content'], 'plain', 'utf-8')
    message['From'] = sender
    message['To'] = receiver
    message['Subject'] = message['Subject']

    server.sendmail(sender, [receiver], message.as_string())

server.quit()

四、總結

本文主要介紹了使用Python發送SMTP郵件的過程,包括準備工作、Python SMTP郵件發送、實現批量發送郵件等方面。通過本文的學習,大家可以掌握如何使用Python發送郵件以及如何實現批量發送郵件。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307489.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 18:16
下一篇 2025-01-02 18:16

相關推薦

  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • IDEA Java發送郵件出現錯誤解決方案

    IDEA Java是一款常用的Java開發工具,很多開發者都使用它來開發Java應用程序。然而,在使用IDEA Java發送郵件時,有可能會出現一些錯誤。本文將從多個方面對該錯誤進…

    編程 2025-04-29
  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • 二階快速求逆矩陣

    快速求逆矩陣是數學中的一個重要問題,特別是對於線性代數中的矩陣求逆運算,如果使用普通的求逆矩陣方法,時間複雜度為O(n^3),計算量非常大。因此,在實際應用中需要使用更高效的算法。…

    編程 2025-04-28
  • Akka 設置郵箱大小的方法和注意事項

    為了保障系統的穩定性和可靠性,Akka 允許用戶設置郵箱大小。本文將介紹如何在 Akka 中設置郵箱大小,並且提供一些注意事項,以幫助讀者解決可能遇到的問題。 一、設置郵箱大小 A…

    編程 2025-04-28
  • 快速排序圖解

    快速排序是一種基於分治思想的排序算法,效率非常高。它通過在序列中尋找一個主元,將小於主元的元素放在左邊,大於主元的元素放在右邊,然後在左右子序列中分別遞歸地應用快速排序。下面將從算…

    編程 2025-04-28
  • Python性能分析: 如何快速提升Python應用程序性能

    Python是一個簡潔高效的編程語言。在大多數情況下,Python的簡潔和生產力為開發人員帶來了很大便利。然而,針對應用程序的性能問題一直是Python開發人員需要面對的一個難題。…

    編程 2025-04-27
  • 阿里雲郵箱主機名

    阿里雲郵箱主機名是指在阿里雲購買並綁定域名後,為郵件服務配置的一個記錄類型。在這篇文章中,我們將從多個方面對阿里雲郵箱主機名進行詳細闡述,幫助您更好地了解它的作用、使用方法和注意事…

    編程 2025-04-27
  • mfastboot:快速刷機利器

    本文將詳細闡述全能工程師如何使用mfastboot進行快速刷機,並且深入解析mfastboot的功能與優勢。 一、下載並配置mfastboot 1、首先,在Ubuntu中打開終端並…

    編程 2025-04-27
  • 微博、爬蟲、知乎:如何快速抓取社交媒體數據?

    社交媒體平台是大眾傳播的重要渠道,也是學術研究中廣泛使用的數據來源。但是,手工抓取數據的效率極低,因此需要使用爬蟲技術將數據自動抓取下來。本文將以微博、爬蟲、知乎為中心,介紹如何使…

    編程 2025-04-27

發表回復

登錄後才能評論