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

Comment envoyer par programme des pièces jointes à des e-mails à l'aide de Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-18 02:24:10605parcourir

How to Programmatically Send Email Attachments Using Python?

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

L'envoi de pièces jointes à un e-mail en Python peut être une tâche simple, mais cela peut sembler intimidant pour les débutants. Voici une explication simplifiée qui vous aidera à démarrer.

Pour envoyer une pièce jointe à un e-mail, vous devez la joindre au message avant de l'envoyer. Cela implique la création d'un message MIME, qui vous permet d'ajouter différentes parties à l'e-mail, notamment du texte et des pièces jointes.

Il existe plusieurs bibliothèques que vous pouvez utiliser pour créer des messages MIME en Python. Un choix populaire est le package de courrier électronique. À l'aide de ce package, vous pouvez créer un message MIME en plusieurs parties, composé de plusieurs parties, y compris le texte de l'e-mail et les pièces jointes.

Pour joindre un fichier au message, vous pouvez utiliser le fichier email.mime. Classe application.MIMEApplication fournie par le package de messagerie. Cette classe vous permet de définir le nom et le contenu du fichier.

Pour terminer le processus, vous devez spécifier les adresses e-mail de l'expéditeur et du destinataire, l'objet et le texte de l'e-mail, ainsi que tous les fichiers que vous souhaitez joindre. Ensuite, vous pouvez utiliser la bibliothèque smtplib pour envoyer l'e-mail.

Voici un extrait de code qui montre comment envoyer un e-mail avec une pièce jointe à l'aide de Python :

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from os.path import basename

def send_email_with_attachment(sender, receiver, subject, message, filename):
  """Sends an email with an attachment.

  Args:
    sender: The sender's email address.
    receiver: The receiver's email address.
    subject: The subject of the email.
    message: The text of the email.
    filename: The path to the file to be attached.
  """

  # Create a MIME multipart message
  msg = MIMEMultipart()
  msg['From'] = sender
  msg['To'] = receiver
  msg['Subject'] = subject

  # Add the text of the email
  msg.attach(MIMEText(message))

  # Add the attachment
  with open(filename, 'rb') as f:
    part = MIMEApplication(f.read(), Name=basename(filename))
  part['Content-Disposition'] = 'attachment; filename="%s"' % basename(filename)
  msg.attach(part)

  # Send the email
  smtp = smtplib.SMTP('localhost')
  smtp.sendmail(sender, receiver, msg.as_string())
  smtp.quit()

Vous avez maintenant un compréhension de base de la façon d'envoyer des pièces jointes à des e-mails en Python. Vous pouvez utiliser ces connaissances pour automatiser l'envoi d'e-mails avec pièces jointes dans vos applications ou scripts.

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!

Déclaration:
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