您好,登錄后才能下訂單哦!
在 Linux 系統中,使用 Python 發送和接收郵件可以通過內置的 smtplib
和 imaplib
庫來實現
首先,確保已經安裝了 smtplib
庫。然后,編寫如下代碼:
import smtplib
from email.mime.text import MIMEText
# 設置郵件服務器、用戶名和密碼
smtp_server = 'smtp.example.com'
username = 'your_email@example.com'
password = 'your_password'
# 創建郵件對象
msg = MIMEText('這是一封測試郵件。')
msg['Subject'] = '測試郵件'
msg['From'] = username
msg['To'] = 'recipient@example.com'
# 連接到郵件服務器并發送郵件
try:
server = smtplib.SMTP(smtp_server, 587)
server.starttls()
server.login(username, password)
server.sendmail(username, 'recipient@example.com', msg.as_string())
print('郵件發送成功!')
except Exception as e:
print(f'郵件發送失敗:{e}')
finally:
server.quit()
首先,確保已經安裝了 imaplib
庫。然后,編寫如下代碼:
import imaplib
import email
from email.header import decode_header
# 設置郵件服務器、用戶名和密碼
imap_server = 'imap.example.com'
username = 'your_email@example.com'
password = 'your_password'
# 連接到郵件服務器并登錄
mail = imaplib.IMAP4_SSL(imap_server)
mail.login(username, password)
# 選擇要讀取的郵箱(例如:INBOX)
mail.select('inbox')
# 搜索并獲取所有未讀郵件
status, messages = mail.search(None, '(UNSEEN)')
messages = messages[0].split()
# 遍歷并打印未讀郵件的信息
for msg_num in messages:
status, msg_data = mail.fetch(msg_num, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
subject = decode_header(msg['subject'])[0][0]
from_ = msg.get('From')
date = msg.get('Date')
print(f'郵件編號:{msg_num}')
print(f'主題:{subject.decode()}')
print(f'發件人:{from_}')
print(f'日期:{date}')
print('-' * 20)
# 退出并關閉郵件服務器連接
mail.logout()
請注意,您需要將示例代碼中的郵件服務器地址、用戶名和密碼替換為您自己的實際信息。同時,根據需要調整郵件搜索條件和處理邏輯。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。