日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

python 发送邮件 <QQ+腾讯企业邮箱>

發布時間:2023/12/13 综合教程 23 生活家
生活随笔 收集整理的這篇文章主要介紹了 python 发送邮件 <QQ+腾讯企业邮箱> 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、使用QQ郵箱或者騰訊企業郵箱

python 發送郵件屬于網絡編程方向的,在工作中,我需要經常用郵件來檢測我的程序運行狀況.使用起來十分方便,這里我就用騰訊企業郵箱作為我的收發郵箱來使用.

使用python 中的 smtplib 模塊來實現發送電子郵件. smtplib對SMTP(Simple Mail Transfer Protocol 簡單郵件傳輸協議)進行簡單的包裝.

# 創建 對象
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

host : STMP服務器主機,可以制定ip或者域名
port : SMTP服務試用的端口號,一般為25
local_hostname: 如果 SMTP 在你的本機上,你只需要指定服務器地址為 localhost 即可。

Python SMTP 對象使用 sendmail 方法發送郵件,語法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

from_addr: 郵件發送者地址。
to_addrs: 郵件發送地址,字符串列表,可以發送給多人['addr1','addr2',....],。

msg: 發送消息

msg 是字符串,表示郵件。郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意 msg 的格式。這個格式就是 smtp 協議中定義的格式。

==例子==

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr


def mail(my_sender, my_pass, recipients):
    try:
        # 郵件的內容
        msg = MIMEText('這是一條測試郵件,請忽略', 'plain', 'utf-8')
        # [發件人的郵箱昵稱、發件人郵箱賬號], 昵稱隨便
        msg['From'] = formataddr([" ", my_sender])
        # [收件人郵箱昵稱、收件人郵箱賬號], 昵稱隨便
        msg['To'] = formataddr([" ", recipients])

        # 郵件的主題,也就是郵件的標題
        msg['Subject'] = "郵件測試"

        # 備注:這里使用的是QQ郵箱的服務器, 加入用騰訊企業郵箱作為發件人的話,請將"smtp.qq.com" 修改為 "smtp.exmail.qq.com"
        # 發件人郵箱中的SMTP服務器,qq端口是465
        server = smtplib.SMTP_SSL("smtp.qq.com", port=465)
        # (發件人郵箱賬號、郵箱密碼)
        server.login(my_sender, my_pass)
        # (發件人郵箱賬號、收件人郵箱賬號、發送郵件)
        server.sendmail(my_sender, recipients, msg.as_string())

        server.quit()  # 關閉連接
        print("郵件發送成功")
    except Exception as e:
        print("郵件發送失敗: ",e)


if __name__ == '__main__':
    my_sender = '126xxxx261@qq.com'  # 發件人郵箱賬號
    my_pass = 'xxxxxxxxxxxxxxxx'     # 發件人郵箱授權碼 / 騰訊企業郵箱請使用登陸密碼
    recipients = '126xxxxx261@qq.com'    # 收件人郵箱賬號
    mail(my_sender, my_pass, recipients)

使用注意

使用QQ郵箱作為發送端的話,必須開啟SMTP服務,
請點擊官方教程查看具體幫助.

具體設置如下(需要發送短信)

1.登陸QQ郵箱,
2.選擇 設置 --> 賬戶
3.開啟 "POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務" 服務,生成授權碼即可

假如使用騰訊企業郵箱,請修改
server = smtplib.SMTP_SSL("smtp.qq.com", port=465)
中的smtp.qq.comsmtp.exmail.qq.com,代碼中提到

第一次寫博客也有很多不足的地方,以后要多多學習,彌補自己.
有時間的話,會繼續補充其他郵箱的使用,道理其實都一樣

1.騰訊企業郵箱SMTP服務器地址:smtp.exmail.qq.com,ssl端口為:465

2.確保騰訊企業郵箱中開啟了SMTP服務:

3.示例代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

# 發件人郵箱賬號
my_sender='xx@xxx.com'
# user登錄郵箱的用戶名,password登錄郵箱的密碼(授權碼,即客戶端密碼,非網頁版登錄密碼),但用騰訊郵箱的登錄密碼也能登錄成功
my_pass = 'xxxxxxxxx'
# 收件人郵箱賬號
my_user='xx@xxx.com'
def mail():
ret=True
try:
# 郵件內容
msg=MIMEText('填寫郵件內容','plain','utf-8')
# 括號里的對應發件人郵箱昵稱、發件人郵箱賬號
msg['From']=formataddr(["xx",my_sender])
# 括號里的對應收件人郵箱昵稱、收件人郵箱賬號
msg['To']=formataddr(["xx",my_user])
# 郵件的主題
msg['Subject']="使用騰訊郵箱發送郵件測試"

# SMTP服務器,騰訊企業郵箱端口是465,騰訊郵箱支持SSL(不強制), 不支持TLS
# qq郵箱smtp服務器地址:smtp.qq.com,端口號:456
# 163郵箱smtp服務器地址:smtp.163.com,端口號:25
server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
# 登錄服務器,括號中對應的是發件人郵箱賬號、郵箱密碼
server.login(my_sender, my_pass)
# 發送郵件,括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件
server.sendmail(my_sender,[my_user,],msg.as_string())
# 關閉連接
server.quit()
# 如果 try 中的語句沒有執行,則會執行下面的 ret=False
except Exception:
ret=False
return ret

ret=mail()
if ret:
print("郵件發送成功")
else:
print("郵件發送失敗")

4.如果更換其他郵箱,如qq郵箱、163郵箱等,按以上步驟設置,注意區分不同郵箱的smtp服務器地址和端口號即可。

總結

以上是生活随笔為你收集整理的python 发送邮件 <QQ+腾讯企业邮箱>的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。