Python_smtp 郵件互動

乐乐乐乐乐乐樂發表於2024-12-02

SMTP 協議簡介

SMTP (Simple Mail Transfer Protocol) 是一種用於傳送電子郵件的協議。它定義了郵件傳輸的標準和規則,使得不同郵件伺服器之間能夠互相通訊並傳遞郵件。
傳送郵件的基本步驟
建立連線:
使用 smtplib.SMTP_SSL 或 smtplib.SMTP 建立與郵件伺服器的安全連線。通常,使用 SMTP_SSL 可以確保連線是加密的。
例如:s = smtplib.SMTP_SSL('smtp.163.com', 465),其中 smtp.163.com 是郵件伺服器的地址,465 是 SSL 連線的埠號。
登入郵箱:
使用郵箱的使用者名稱和授權碼(或密碼)登入郵件伺服器。
例如:s.login(self._user, self._pwd),其中 self._user 是發件人的郵箱地址,self._pwd 是授權碼或密碼。
構建郵件:
使用 email.mime 模組構建郵件內容。常見的郵件型別包括純文字郵件和 HTML 郵件
傳送郵件:
使用 s.sendmail 方法傳送郵件。需要指定發件人、收件人和郵件內容。
例如:s.sendmail(self._user, _touser, msg.as_string())。
關閉連線:
傳送完郵件後,關閉與郵件伺服器的連線。
例如:s.close()。

# -*- coding: utf-8 -*-

# 工具庫
import random
import smtplib
# 匯入郵件文字
from email.mime.text import MIMEText
import datetime
# 匯入郵件分類
from email.mime.multipart import MIMEMultipart

# 郵件傳送類
class SendEmail:

    # 初始化方法
    def __init__(self):
        # 初始化郵箱資料
        # 傳送者的郵箱
        self._user = 'xxxxxx@163.com'
        # 傳送者郵箱的授權碼
        self._pwd = 'xxxxxxx'

    # 傳送方法
    def send_email(self, _touser, _title, _content):
        # 構建郵件體
        msg = MIMEMultipart()
        # 郵件標題
        msg['Subject'] = _title
        # 發件人
        msg['From'] = self._user  # 修改這裡
        # 收件人
        msg['To'] = _touser
        # 構建內容
        part = MIMEText(_content,'html','utf-8')
        msg.attach(part)
        # 傳送邏輯
        # 建立連線物件
        s = smtplib.SMTP_SSL('smtp.163.com', 465)
        # 登入郵箱
        s.login(self._user, self._pwd)  # 修改這裡
        # 傳送郵件
        s.sendmail(self._user, _touser, msg.as_string())
        # 關閉連結
        s.close()





if __name__ == '__main__':
    # 例項化 物件
    send = SendEmail()
    send.send_email('luckyletop@163.com','測試郵件標題','夾縫中小小的社交')
    # print(get_code())



相關文章