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())