溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用python自動發(fā)郵箱

發(fā)布時間:2020-07-03 13:38:21 來源:億速云 閱讀:162 作者:清晨 欄目:編程語言

小編給大家分享一下如何用python自動發(fā)郵箱,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

正文

廢話不多說,直接上代碼。

一、普通文本郵件(作通知訓練結束用 :smiley: )

# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
  
# 第三方 SMTP 服務
mail_host = "smtp.163.com"  # SMTP服務器
mail_user = "yourname"  # 用戶名
mail_pass = "xxx"  # 密碼(這里的密碼不是登錄郵箱密碼,而是授權碼)
  
sender = 'yourname@163.com'  # 發(fā)件人郵箱
receivers = 'othername@163.com']  # 接收人郵箱
  
  
content = 'Python Send Mail ! 訓練結束!'
title = 'Python SMTP Mail 訓練結束'  # 郵件主題

message = MIMEText(content, 'plain', 'utf-8')  # 內容, 格式, 編碼
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
  
try:
    smtpObj = smtplib.SMTP_SSL(mail_host, 465)  # 啟用SSL發(fā)信, 端口一般是465
    smtpObj.login(mail_user, mail_pass)  # 登錄驗證
    smtpObj.sendmail(sender, receivers, message.as_string())  # 發(fā)送
    print("mail has been send to {0} successfully.".format(receivers))
except smtplib.SMTPException as e:
    print(e)

二、加強版附件傳輸郵件

# -*- coding: UTF-8 -*-

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

# Files' Paths:
file1 = 'mail.py'
file2 = 'maill.py'
# 收郵件的地址,可以多個。
Receivers = ['receiver1@163.com','receiver2@163.com'] 
# 郵件主題:
title = 'Python SMTP 郵件(文件傳輸)'


# 模擬服務器
# SMTP服務器
SMTPServer="smtp.163.com"
# 發(fā)郵件的地址
Sender="yourname@163.com"
# 發(fā)送者郵件的授權密碼,去163郵箱設置里獲取。并非是密碼。
passwd="xxx"  

# 創(chuàng)建一個帶附件的實例
message = MIMEMultipart()
message['From'] = Sender
message['To'] = ",".join(Receivers)
message['Subject'] = title
# 郵件正文內容
message.attach(MIMEText('附件中是要傳輸?shù)奈募?。\n ', 'plain', 'utf-8'))
message.attach(MIMEText('The files you need are as followed. \n ', 'plain', 'utf-8'))

# 構造附件1
att1 = MIMEText(open(file1, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename={0}'.format(file1)
message.attach(att1)

# 構造附件2
att2 = MIMEText(open(file2, 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename={0}'.format(file2)
message.attach(att2)

try:
    mailServer = smtplib.SMTP(SMTPServer, 25)  # 25為端口號(郵件),0-1024都被系統(tǒng)占用了
    # 登錄郵箱
    mailServer.login(Sender, passwd)  # 需要的是,郵箱的地址和授權密碼
    # 發(fā)送文件
    mailServer.sendmail(Sender, Receivers, message.as_string())
    print("郵件發(fā)送成功")
    print("Mail with {0} & {1} has been send to {2} successfully.".format(file1,file2,Receivers))
except smtplib.SMTPException as e:
    print("Error: 無法發(fā)送郵件")
    print(e)

后話

可以把代碼加到網(wǎng)絡train.py的最后,別忘了在train.py的開頭加上:

# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

然后你就可以專心忙自己的事情,網(wǎng)絡訓練結束就自動發(fā)郵件啦~

看完了這篇文章,相信你對如何用python自動發(fā)郵箱有了一定的了解,想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI