python 44 發郵件 純文字 例項原始碼

2021-10-19 11:17:14 字數 2654 閱讀 9539

1.設定郵箱伺服器許可權

可以讓軟體訪問。

下圖是126郵箱的smtp 許可權開啟截圖。

163 的smtp伺服器:smtp.163.com

2.獲取授權密碼

login 使用者名稱:郵箱        

login 密碼:      授權碼

3.python

①email模組:   負責構建郵件

②smtplib模組:負責傳送郵件

1.純文字郵件

import smtplib

from email.mime.text import mimetext

from email.utils import formataddr

#郵件內容

msg = mimetext("測試", 'html', 'utf-8')

msg['from'] = formataddr(["測試", "*****@126.com"])

msg['subject'] = "我的測試"

#傳送郵件

server = smtplib.smtp_ssl("smtp.126.com")

server.ehlo('smtp.126.com') #此句一定要寫

server.login("*****@126.com", "xnpgdvuvomyhidke")

server.sendmail("******@126.com", "******@126.com", msg.as_string())

server.quit()

2.帶有附件

from email import encoders

from email.header import header

from email.mime.base import mimebase

from email.mime.multipart import mimemultipart

from email.mime.text import mimetext

#1.郵件內容,plain表示純文字,

from email.utils import parseaddr, formataddr

from_addr = "*****@126.com"

password = "******"

to_addr ="****@126.com"

def _format_addr(s):

name, addr = parseaddr(s)

return formataddr((header(name, 'utf-8').encode(), addr))

# 郵件物件:

msg = mimemultipart()

msg['from'] = _format_addr('python test ' % from_addr)

msg['to'] = _format_addr('管理員 ' % to_addr)

msg['subject'] = header('帶有附件的郵件', 'utf-8').encode()

# 郵件正文

# 設定附件的mime和檔名,這裡是png型別:

# 加上必要的頭資訊:

# 把附件的內容讀進來:

mime.set_payload(f.read())

# 用base64編碼:

encoders.encode_base64(mime)

# 新增到mimemultipart:

msg.attach(mime)

#2.傳送郵件

import smtplib

print("send mail satrt...")

server = smtplib.smtp_ssl("smtp.126.com")

#server.set_debuglevel(1)

server.ehlo('smtp.126.com')

server.login(from_addr, password)

server.sendmail(from_addr, to_addr, msg.as_string())

server.quit()

print("send end")

python 發郵件 python發郵件

python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它來傳送電子郵件 import smtplib smtpobj smtplib.smtp ...

使用php發郵件二(發郵件流程)

傳送郵件過程 1 配置好你的郵箱服務 qq郵箱為例 2 使用socket連線,建立乙個套接字 fp fsockopen hostname,port,errno,errmsg,30 3 向對方郵件伺服器發出的標識自己的身份的命令fputs fp,ehlo ki r n 4 即將進行身份認證fputs ...

使用Python 3發郵件

直接使用別人封裝好的第三方庫 usr bin env python coding utf 8 time 2018 6 5 21 42 author hewj file demon.py import yagmail args yagmail.smtp args emaillist 893369127...