免費匿名SMTP服務器:Python輕鬆實現電子郵件發送

隨着數字化的發展,電子郵件在人們的生活中扮演着越來越重要的角色,而郵件服務器是實現郵件傳遞的重要基礎。大多數郵件服務器在發送郵件時都需要進行SMTP驗證,但是在某些特定情況下,如測試或發送匿名郵件,我們需要一些可以免費使用並且不需要SMTP驗證的郵件服務器,而這篇文章將為你介紹如何通過 Python 來輕鬆實現電子郵件的發送。下面將分多個方面進行闡述。

一、選擇郵件服務器

在選擇郵件服務器時,需要兼顧可用性和安全性。雖然有很多郵件服務器可以免費使用,但是需要進行SMTP驗證,所以在本文中,我們將使用已知的可靠而且能夠免費使用的匿名郵件服務器,如下表所示:

郵箱地址                      服務器地址

tempr.email                  mail.tempr.email
5ymail.com                   smtp.5ymail.com
emkei.cz                     smtp.emkei.cz
mytrashmail.com              smtp.mytrashmail.com

此外還需要注意的是,郵件服務器的域名必須被 IETF (Internet Engineering Task Force) 批准為公共域名,否則郵件會被視為垃圾郵件而無法正常發送。

二、Python實現郵件發送

Python提供了 smtplib 模塊來發送郵件,下面是一個簡單的 Python 程序,可以將電子郵件發送給指定的收件人。

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

def send_email(smtp_server, username, password, sender, receiver, subject, message):
    msg = MIMEText(message, 'html', 'utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = Header(sender, 'utf-8')
    msg['To'] = Header(receiver, 'utf-8')

    server = smtplib.SMTP(smtp_server)
    server.login(username, password)
    server.sendmail(sender, [receiver], msg.as_string())
    server.quit()

if __name__ == '__main__':
    smtp_server = 'smtp.mytrashmail.com'
    username = ''
    password = ''
    sender = ''
    receiver = ''
    subject = 'Test email'
    message = '

Hello World!

' send_email(smtp_server, username, password, sender, receiver, subject, message)

以上是一個基本的模板,可以將這個模板分別適配到不同的郵件服務器上。如果需要發送的郵件正文含有HTML標籤,可以修改MIMEText的contentType為『html』。

三、在Python中實現添加附件功能

有時候我們需要在電子郵件中添加附件,例如一些圖片或者文檔。下面是一個簡單的 Python 程序,在電子郵件中添加文本文件作為附件。

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

def send_email_with_attachments(smtp_server, username, password, sender, receiver, subject, message, files):
    msg = MIMEMultipart()
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = Header(sender, 'utf-8')
    msg['To'] = Header(receiver, 'utf-8')

    msg.attach(MIMEText(message, 'html', 'utf-8'))

    if files:
        for f in files:
            with open(f, 'rb') as file:
                attachment = MIMEApplication(file.read())
                attachment.add_header('Content-Disposition', 'attachment', filename=('utf-8', '', f.split('/')[-1]))
                msg.attach(attachment)

    server = smtplib.SMTP(smtp_server)
    server.login(username, password)
    server.sendmail(sender, [receiver], msg.as_string())
    server.quit()

if __name__ == '__main__':
    smtp_server = 'smtp.mytrashmail.com'
    username = ''
    password = ''
    sender = ''
    receiver = ''
    subject = 'Test email'
    message = '

Hello World!

' files = ['/path/to/file.txt'] send_email_with_attachments(smtp_server, username, password, sender, receiver, subject, message, files)

以上程序將每個附件文件作為 MIMEApplication 的實例,通過在頭部中指定”Content-Disposition: attachment”字段,將文件添加為附件。在此之前,我們還需安裝python-magic,並在系統中進行必要的依賴安裝。

結語

這篇文章介紹了通過 Python 實現輕鬆發送電子郵件的方法以及如何在郵件中添加附件。值得注意的是,郵件發送具有一定的風險,應嚴格按照相關法律法規和道德準則進行操作,遵循企業和社會的規範。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270742.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:38
下一篇 2024-12-16 13:38

相關推薦

  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 如何選擇MySQL服務器文件權限

    MySQL是一種流行的關係型數據庫管理系統。在安裝MySQL時,選擇正確的文件權限是保證安全和性能的重要步驟。以下是一些指導您選擇正確權限的建議。 一、權限選擇 MySQL服務器需…

    編程 2025-04-27
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • 如何將Python代碼部署到服務器

    Python是一種高級編程語言,常被用於數據分析、機器學習、Web開發等不同領域的工作。但是,只有將Python代碼部署到服務器上,才能讓其真正發揮作用。 一、選擇服務器 要將Py…

    編程 2025-04-27
  • Python服務器客戶端

    本文將從以下幾個方面對Python服務器客戶端進行詳細闡述:socket編程、HTTP協議、Web框架、異步IO。 一、socket編程 Python的socket模塊是為網絡編程…

    編程 2025-04-27
  • 如何解決很少人使用台灣服務器的問題

    很少人使用台灣服務器,這是一個比較普遍的問題,但並不難解決。本文將從多個方面進行詳細闡述。 一、認識台灣服務器 台灣服務器是指位於台灣地區的服務器,它與大陸服務器有一定區別。在台灣…

    編程 2025-04-27
  • Python如何放在服務器運行

    Python是一種非常受歡迎的腳本語言,它可以用於Web開發、數據分析、機器學習等不同領域。在服務器端,Python也是一個很好的選擇。本文將介紹Python如何放在服務器上運行,…

    編程 2025-04-27
  • 如何將Linux系統日誌發送到日誌服務器

    本文將介紹如何將Linux系統日誌發送到日誌服務器,以方便管理和監控系統狀態。 一、安裝rsyslog軟件包 rsyslog是Linux系統上默認的系統日誌軟件,用於收集系統事件和…

    編程 2025-04-27

發表回復

登錄後才能評論