千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 用Python的smtplib模塊輕松實現郵件發(fā)送功能

用Python的smtplib模塊輕松實現郵件發(fā)送功能

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-07-21 16:17:31 1689927451
Python自帶的smtplib模塊可以用于發(fā)送郵件,只需要連接SMTP服務器并傳遞數據即可。本文將展示如何使用Python的smtplib模塊輕松實現郵件發(fā)送功能。

一、連接SMTP服務器

首先需要連接SMTP服務器,SMTP(Simple Mail Transfer Protocol)是用于郵件發(fā)送的協(xié)議。Python的smtplib模塊可以連接SMTP服務器,并通過它發(fā)送郵件。下面是代碼示例:

import smtplib

smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'your email'
password = 'your password'

server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(username, password)
- smtp_server:SMTP服務器的地址,如Gmail、Hotmail、Yahoo等都有各自的SMTP服務器。 - smtp_port:SMTP服務器運行的端口,一般都是25或587。 - username和password:發(fā)件人的郵箱地址和密碼,需要用它們登錄SMTP服務器。 這里假設你使用Gmail作為SMTP服務器,你需要自己替換smtp_server、username和password。 首先使用SMTP()函數創(chuàng)建一個SMTP對象,然后使用ehlo()函數打招呼,使用starttls()函數啟動TLS加密,最后使用login()函數登錄SMTP服務器。

二、構造郵件內容

郵件通常包含郵件主題、收件人、發(fā)件人、郵件內容和附件等信息。下面是一個基本的郵件構造示例:

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

subject = 'Test email'
from_addr = 'sender email'
to_addr = 'receiver email'
body = 'Hello, This is a test email.'

msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
- MIMEText:郵件的消息內容,包括郵件正文和格式。 - MIMEMultipart:郵件對象,可包含郵件的所有信息,包括附件等。 這里使用MIMEText()函數創(chuàng)建一個純文本郵件內容,然后使用MIMEMultipart()函數創(chuàng)建一個郵件對象。設置發(fā)件人、收件人和主題等信息后,將郵件內容添加到郵件對象中。

三、發(fā)送郵件

郵件構造完成后,可以使用sendmail()函數將郵件發(fā)送出去:

server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
- from_addr和to_addr:發(fā)件人和收件人的郵件地址。 - msg.as_string():將msg(郵件對象)轉換為str類型。 發(fā)送郵件后,用quit()函數關閉SMTP連接。 代碼示例:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'your email'
password = 'your password'
from_addr = 'sender email'
to_addr = 'receiver email'
subject = 'Test email'
body = 'Hello, This is a test email.'

server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(username, password)

msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))

server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
以上就是使用Python的smtplib模塊輕松實現郵件發(fā)送功能的方法。
tags: python教程
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
日韓無碼中文字幕 | 最新国产·精品更多 | 日本三级香港三级a视频在线 | 亚洲乱码精品久久久久.. | 亚洲日韩中文在线 | 中文字幕在线播放你懂的 |