Maison > développement back-end > Tutoriel Python > Comment envoyer des pièces jointes à un e-mail à l'aide de smtplib de Python ?

Comment envoyer des pièces jointes à un e-mail à l'aide de smtplib de Python ?

Barbara Streisand
Libérer: 2024-12-17 00:16:25
original
522 Les gens l'ont consulté

How to Send Email Attachments Using Python's smtplib?

Envoyer des pièces jointes avec smtplib de Python

Envoyer des e-mails avec smtplib de Python est un jeu d'enfant, mais inclure des pièces jointes peut sembler un peu énigmatique pour les débutants. Voici une explication simple pour vous aider à maîtriser cette tâche.

Extrait de code :

Commençons par un code simple extrait :

import smtplib
from os.path import basename
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

def send_mail(send_from, send_to, subject, text, files=None,
              server="127.0.0.1"):
    assert isinstance(send_to, list)

    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = COMMASPACE.join(send_to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    for f in files or []:
        with open(f, "rb") as fil:
            part = MIMEApplication(
                fil.read(),
                Name=basename(f)
            )
        # After the file is closed
        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)
        msg.attach(part)


    smtp = smtplib.SMTP(server)
    smtp.sendmail(send_from, send_to, msg.as_string())
    smtp.close()
Copier après la connexion

Explication :

  1. MIMEMultipart : Les messages MIME prennent en charge plusieurs parties MIME et forment la couche la plus externe.
  2. MIMEText : Le corps de l'e-mail est créé comme MIMETexte contenant le texte.
  3. MIMEApplication : Le fichier à joindre est traité comme MIMEApplication et son nom est extrait à l'aide de basename(f).
  4. Content- Disposition : Ce champ configure la gestion de la pièce jointe par les clients de messagerie, en la spécifiant comme pièce jointe avec son nom.
  5. SMTP : Un objet SMTP est configuré pour se connecter à un serveur de messagerie ("127.0.0.1" par défaut).
  6. sendmail : L'e-mail est envoyé en utilisant la méthode sendmail avec l'expéditeur, les destinataires et le message.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal