Maison >Périphériques technologiques >Industrie informatique >Comment envoyer un e-mail avec Django à l'aide du serveur SMTP
Avez-vous déjà eu du mal à configurer l'intégration des e-mails dans vos projets Django? Qu'il s'agisse de configurer les paramètres SMTP, de gérer les problèmes de sécurité ou d'automatiser les formulaires de contact, les fonctionnalités de messagerie sont cruciales pour l'engagement et la confiance des utilisateurs.
Dans ce tutoriel, nous allons expliquer comment envoyer des e-mails à l'aide de Django avec des instructions pratiques et étape par étape. Nous couvrirons comment configurer les connexions Django SMTP, comment configurer un mot de passe pour votre fournisseur de messagerie et comment envoyer des e-mails via le shell Django. Nous examinerons également comment configurer un formulaire de contact pour votre application Django, qui permettra à vos clients de vous contacter.
La plupart des applications Web utilisent le courrier électronique pour gérer les opérations cruciales, telles que la réinitialisation des mots de passe, l'activation du compte, la réception des commentaires des clients, l'envoi de newsletters et les campagnes de marketing. Alors que Gmail travaille pour les tests ou les petits projets, les sites Web de production doivent utiliser des services de messagerie dédiés tels que AWS SES, SendGrid ou Mailgun.
Cependant, si vous comparez le coût et l'effort d'utilisation d'un service de messagerie dédié, l'envoi d'e-mails avec votre e-mail personnel peut être plus raisonnable pour les petits ou des projets de test. Nous allons donc adopter cette approche ici pour garder les choses simples.
Remarque : Ce n'est pas une bonne idée d'utiliser votre service de messagerie personnel pour votre site Web de production. Vous pouvez en savoir plus sur Gmail Envoi des restrictions , ou se référer aux limites de votre fournisseur de messagerie.
Remarque: le code complet de ce tutoriel est disponible sur github.
SMTP (ou le protocole de transfert de courrier simple) est un ensemble de règles pour déterminer comment les e-mails sont transférés des expéditeurs aux destinataires. Les serveurs SMTP utilisent ce protocole pour envoyer et relayer les e-mails sortants. (Notez que d'autres protocoles régissent la façon dont les e-mails sont reçus .)
Un serveur SMTP a toujours une adresse unique et un port spécifique pour l'envoi de messages, qui dans la plupart des cas est 587. Nous verrons comment le port est pertinent dans Django Email Send.
Pour cet exemple, nous utiliserons le serveur SMTP de Gmail, où:
Maintenant, voyons comment nous pouvons envoyer des e-mails avec Django.
Chaque projet Django devrait avoir un environnement virtuel, car nous ne voulons pas gâcher les dépendances du projet. Pour en créer un, exécutez ce qui suit:
python <span>-m venv .venv</span>
Remarque: Si vous n'êtes pas familier avec les environnements virtuels, assurez-vous de vérifier notre guide des environnements virtuels Python .
La commande ci-dessus crée un environnement virtuel avec le nom .venv. Pour activer cet environnement virtuel, vous pouvez utiliser ce qui suit:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Étant donné que Django est un package tiers, vous devez l'installer avec pip:
pip <span>install django</span>
Cela installera la dernière version de Django, que vous pouvez vérifier avec PIP Freeze.
Pour créer un projet Django, vous appelez l'utilitaire de commande django-admin:
django-admin startproject EmailProject
Avec la commande ci-dessus, vous créez un projet Django avec le nom EmailProject, mais vous pouvez créer le projet avec le nom que vous voulez. Maintenant, entrez dans le répertoire du projet et exécutez le serveur:
<span>cd EmailProject </span>python manage.py runserver
Après avoir exécuté le serveur Django, visitez http: // localhost: 8000 dans votre navigateur. Vous verrez une page générée automatiquement avec les dernières notes de sortie de Django.
Le backend des e-mails est le mécanisme pour envoyer des e-mails avec Django. Par défaut, Django utilise django.core.mail.backends.smtp.emailbackend, qui lui permet de se connecter à un serveur SMTP et d'envoyer des e-mails. Selon l'environnement (développement ou production), vous pouvez choisir un autre backend par e-mail pour répondre à vos besoins.
Vous devrez modifier le fichier de paramètres avant d'envoyer des e-mails, alors localisons ce fichier avec la commande ci-dessous:
Remarque: Pour la simplicité, nous n'utiliserons que les commandes système UNIX (macOS ou Linux).
python <span>-m venv .venv</span>
La commande d'arborescence sortira la structure de fichiers d'un répertoire. Dans ce cas, comme nous ne lui donnons pas un chemin de répertoire spécifique, nous obtiendrons quelque chose de similaire à ce qui suit si nous sommes dans le dossier racine du projet:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Le fichier que nous modifierons constamment via ce tutoriel est le paramètres.py dans le dossier e-mail. Il contient toute la configuration du projet dont vous aurez besoin et vous permet de définir des variables personnalisées. Comme le disent les documents Django, «un fichier de paramètres n'est qu'un module Python avec des variables au niveau du module».
Examinons les paramètres requis pour l'envoi d'un e-mail avec Django. Ouvrez le fichier e-mail / settings.py.py et collez les paramètres suivants en bas du fichier:
pip <span>install django</span>
Décomposons le code ci-dessus en analysant chacun de ces paramètres.
Le paramètre e-mail_backend déclare que le backend que notre projet Django utilisera pour se connecter avec le serveur SMTP.
Cette variable pointe vers la classe smtp.emailbackend qui reçoit tous les paramètres nécessaires pour envoyer un e-mail. Je vous suggère fortement de jeter un œil au constructeur de classe directement sur le code source de Django. Vous serez surpris par la lisible de ce code.
Remarque: Bien que cette classe soit le e-mail par défaut_backend, il est considéré comme une bonne pratique explicite dans les paramètres de Django.
Tous les autres paramètres de messagerie seront basés sur le constructeur de cette classe EmailBackend.
Le paramètre e-mail_host fait référence au domaine du serveur SMTP que vous utiliserez. Cela dépend de votre fournisseur de messagerie. Vous trouverez ci-dessous un tableau avec l'hôte du serveur SMTP correspondant à trois fournisseurs communs:
Nous laissons ce paramètre vide pour l'instant car nous utiliserons un fichier .env plus tard pour éviter les clés sensibles à code dur ou les configurations par site. Vous ne devez jamais définir des informations d'identification directement dans le code. Nous utiliserons Django Environ pour résoudre ce problème.
Le paramètre email_port doit être défini sur 587 car c'est le port par défaut pour la plupart des serveurs SMTP. Cela reste vrai pour les fournisseurs de courriels personnels. Ce port est utilisé avec le cryptage TLS pour assurer la sécurité de l'envoi des e-mails.
Transport Layer Security (TLS) est un protocole de sécurité utilisé sur le Web pour crypter la communication entre les applications Web (Django) et les serveurs (serveur SMTP).
À l'origine, nous définissons la variable EMAIL_USE_TLS sur true. Cela signifie que Django utilisera la sécurité de la couche de transport pour se connecter au serveur SMTP et envoyer des e-mails. (C'est obligatoire pour les fournisseurs de courriels personnels.)
Le paramètre EMAIL_HOST_USER est votre adresse e-mail personnelle. Laissez-le vide pour le moment, car nous utiliserons Django-Environ pour configurer toutes ces informations d'identification.
Le paramètre e-mail_host_password est le mot de passe de l'application que vous obtiendrez de votre compte de messagerie - le processus que nous ferons juste après cette section. Même histoire: laissez ce paramètre vide, car nous utiliserons les variables environnementales plus tard.
Pour les autres fournisseurs, vous pouvez ajuster les paramètres en conséquence. Par exemple:
Configuration Outlook:
python <span>-m venv .venv</span>
Configuration de Yahoo:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Étant donné que les «applications moins sécurisées» sont obsolètes par Google, la manière appropriée et sécurisée de se connecter au compte Gmail pour l'envoi de courriels est d'utiliser les mots de passe de l'application. Les mots de passe de l'application ne sont disponibles que si vous activez une vérification en 2 étapes pour votre compte Google.
Si vous utilisez d'autres fournisseurs de messagerie, assurez-vous de lire les guides suivants:
Même si vous envoyez simplement des e-mails en développement, vous ne devez pas écrire de mots de passe directement dans le code source. Cela devient encore plus important lors de l'utilisation d'un système de contrôle de version avec GitHub pour héberger votre projet. Vous ne voulez pas que les gens accédaient à vos données.
Voyons comment nous pouvons empêcher cela en utilisant le django-environ.
Créez un fichier .env dans le répertoire EmailProject (où se trouve le fichier Settings.py) avec la commande ci-dessous:
python <span>-m venv .venv</span>
Maintenant, ouvrez ce fichier .env et entrez les paires de clés-valeur suivantes:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
décomposer le contenu de ce fichier:
Pour utiliser ces variables environnementales, nous devrons installer django-environ:
pip <span>install django</span>
Remarque: assurez-vous que votre environnement virtuel est activé.
Maintenant, ouvrez les paramètres.py situés dans le répertoire EmailProject et utilisez le code ci-dessous:
django-admin startproject EmailProject
Tout d'abord, nous importons le package environnement en haut du fichier de paramètres. N'oubliez pas que toutes les importations doivent être au début. Ensuite, nous créons une variable Env qui contiendra toutes les paires de valeurs clés disponibles sur le .env.
L'énoncé env («clé») signifie que nous recherchons la valeur de cette clé. Avant de continuer, assurez-vous d'avoir configuré votre fichier .env. Sinon, si une variable environnementale n'est pas définie, vous obtiendrez une erreur Django malfigurée.
Remarque: le destinataire_address est un paramètre personnalisé que nous utiliserons pour envoyer des e-mails à une adresse à laquelle nous pouvons accéder.
N'oubliez pas d'inclure le fichier .env dans votre .gitignore si vous utilisez git et github. Vous pouvez le faire simplement en l'ouvrant et en ajoutant la ligne suivante:
<span>cd EmailProject </span>python manage.py runserver
Enfin, nous arrivons à la partie juteuse de l'article! Il est temps d'envoyer votre premier e-mail à Django.
Ouvrez un terminal, activez l'environnement virtuel et exécutez:
tree
Cela créera un shell avec tous les paramètres django déjà configurés pour nous. À l'intérieur de ce tout nouveau shell, collez le code suivant:
├── EmailProject │ ├── asgi.py │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py 1 directory, 6 files
Nous pouvons également faire une seule ligne sans spécifier les arguments:
python <span>-m venv .venv</span>
Décomposons le code ci-dessus:
Notez comment nous utilisons l'objet Paramètres pour obtenir le from_email (l'e-mail avec lequel vous envoyez des e-mails) et le destinataire_list (le paramètre personnalisé du destinataire que nous avons défini dans le .env).
Maintenant, si je coche ma boîte de réception - car je définis la variable environnementale du destinataire_address dans mon adresse e-mail - je recevrai le message e-mail envoyé par Django.
Dans Django 4.x, l'envoi de courriels asynchrones est pris en charge pour améliorer les performances. Ceci est utile pour les sites Web très trafiques ou lors de l'envoi de courriels en vrac.
Voici comment envoyer un e-mail de manière asynchrone:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
L'envoi des e-mails asynchrones est utile dans des scénarios comme:
Remarque: Bien que Django prenne en charge les e-mails asynchrones, pour les e-mails en vrac à l'échelle de la production, utilisez une file d'attente de tâches d'arrière-plan comme le céleri ou le django-Q pour de vraies opérations non bloquantes.
Dans cette section, nous créerons un formulaire de contact automatisé avec les formulaires Django et la fonction Send_mail intégrée. Nous allons également créer une fonction personnalisée, envoyer (), à l'intérieur du formulaire de contact, il est donc plus facile de l'implémenter dans les vues.
Commençons par créer l'application de contact. Entrez dans le répertoire racine du projet - où se trouve Manage.py - et exécutez:
pip <span>install django</span>
Ensuite, installez-le dans votre variable installée_apps dans le fichier e-mail / settings.py.py:
django-admin startproject EmailProject
Avant de progresser avec l'application de contact, configurons les UrlPatterns à l'intérieur du fichier e-mail / url.py. Pour ce faire, importez la fonction django.urls.include et incluez les URL de contact dans le projet global. Ne t'inquiète pas; Nous allons configurer les URL de contact plus tard:
<span>cd EmailProject </span>python manage.py runserver
Entrez le dossier de l'application Contact et créez un fichier Forms.py. C'est une bonne pratique de définir toutes vos formes à l'intérieur d'un fichier Forms.py, mais ce n'est pas obligatoire. C'est pourquoi Django n'inclut pas ce fichier par défaut. Vous pouvez créer le fichier de formulaires avec les commandes suivantes:
tree
Ouvrez le fichier que vous venez de créer et faites les importations suivantes:
python <span>-m venv .venv</span>
Le module Django Form nous donne toutes les classes et champs nécessaires pour créer notre formulaire de contact. Encore une fois, nous importons l'objet Paramètres et la fonction Send_mail pour envoyer les e-mails.
Notre formulaire de contact contiendra plusieurs champs et utilisera deux méthodes personnalisées: get_info (), qui formate les informations fournies par l'utilisateur, et Send (), qui enverra l'e-mail. Voyons cela implémenté dans le code:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Cette classe est énorme, alors décomposons ce que nous faisons dans chaque partie. Premièrement, nous définissons quatre champs qui seront nécessaires pour envoyer l'e-mail:
En direction des méthodes personnalisées, nous utilisons uniquement la méthode get_info pour formater les informations de l'utilisateur et retourner deux variables: Sujet, qui n'est rien d'autre que le champ de demande et le message, qui sera le message électronique réel envoyé par Django .
En revanche, la méthode Send () obtient uniquement les informations formatées de get_info et envoie le message avec la fonction Send_mail. Bien que cette section soit assez grande, vous verrez comment nous avons simplifié les vues de contact en implémentant toute la logique d'envoi à la forme de contact elle-même.
Ouvrez le fichier Contact / Views.py et ajoutez les importations suivantes:
pip <span>install django</span>
Comme vous pouvez le voir, nous allons utiliser des vues génériques de Django, ce qui nous fait gagner une tonne de temps lorsque vous effectuez des tâches simples - par exemple, lorsque vous configurez un formulaire avec FormView ou créant une vue qui ne fait que rendre un modèle avec TemplateView.
De plus, nous importons la forme de contact que nous avons construite dans la section précédente et la fonction reversé_lazy utilisée lorsque vous travaillons avec Vues basées sur les classes . Poursuivant avec les vues, écrivons le ContactView:
django-admin startproject EmailProject
Comme vous pouvez le voir, nous construisons une vue simple en utilisant la forme de contact que nous avons créée. Nous configurons également le Template_name et le Success_Url. Nous allons écrire le modèle HTML et configurer les URL plus tard.
La méthode valide du formulaire nous envoyons l'e-mail à l'aide de la méthode ContactForm.Send () uniquement si tous les champs du formulaire sont valides. Cela implique que si l'utilisateur entre dans une entrée non valide - comme une adresse e-mail non formatée - le message ne sera pas envoyé.
L'implémentation de méthode Form_Valid ci-dessus serait équivalente à ce qui suit dans une vue basée sur la fonction:
python <span>-m venv .venv</span>
terminant cette section, nous allons écrire un ContacteSussView, qui affichera un message de réussite à l'utilisateur. Puisque nous avons déjà importé la classe TemplateView, nous n'avons qu'à en hériter et à définir l'attribut template_name:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Vous pouvez consulter le fichier Views.py sur le référentiel GitHub si vous avez des préoccupations.
Il est temps de créer les modèles URL de l'application de contact. Étant donné que Django ne nous donne pas le fichier url.py par défaut, nous devons le créer avec la commande suivante (assurez-vous d'être dans le dossier de l'application de contact):
pip <span>install django</span>
Ouvrez ce fichier et configurez les variables APP_NAME et URLPatterns:
django-admin startproject EmailProject
Nous utilisons le chemin d'accès pour inclure l'itinéraire et sa vue correspondante vers la configuration de l'URL de l'application. Lorsque nous définissons la variable APP_NAME sur «Contacter», cela signifie que l'URL ESPACACE DE NOMS de l'application ressemblera à ceci:
<span>cd EmailProject </span>python manage.py runserver
Remarque: Un espace de noms est ce que nous appelons les URL dynamiquement dans les modèles et les vues django.
Vous pouvez en savoir plus sur le répartiteur de l'URL Django dans la documentation officielle.
Les modèles Django sont le moyen préféré d'afficher les données dynamiquement, en utilisant HTML et des balises spéciales fournies par le langage du modèle Django.
Pour cette application spécifique, nous utiliserons trois modèles:
Commençons par créer la structure du modèle d'application du contact (assurez-vous que vous êtes dans le dossier de l'application de contact):
tree
Les commandes ci-dessus créent la structure de modèle typique d'une application Django réutilisable - Appname / Templates / AppName - et les fichiers de modèle d'arborescence que j'ai mentionnés précédemment. Voici à quoi devrait ressembler la structure des fichiers d'application:
├── EmailProject │ ├── asgi.py │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py 1 directory, 6 files
Saisons dans le contenu du modèle de base.html:
<span># EmailProject/settings.py </span> <span># Bottom of the file </span>EMAIL_BACKEND <span>= 'django.core.mail.backends.smtp.EmailBackend' </span>EMAIL_HOST <span>= '' </span>EMAIL_PORT <span>= 587 </span>EMAIL_USE_TLS <span>= True </span>EMAIL_HOST_USER <span>= '' </span>EMAIL_HOST_PASSWORD <span>= '' </span>
Comme vous pouvez le voir, c'est le squelette simple d'un fichier HTML qui comprend des liens vers Bootstrap 5. Cela nous permet de styliser notre application de contact sans utiliser de fichiers CSS. La balise {% Block Name-of-Block%} nous permet de configurer un espace réservé que les «modèles enfants» utiliseront. L'utilisation de cette balise fait de l'héritage du modèle une tâche facile.
Avant de vous diriger vers les formulaires, vous devrez installer le package Django Crispy Forms, qui nous permet de les styliser facilement:
EMAIL_HOST <span>= 'smtp-mail.outlook.com' </span>EMAIL_PORT <span>= 587 </span>EMAIL_USE_TLS <span>= True </span>EMAIL_HOST_USER <span>= 'your-email@outlook.com' </span>EMAIL_HOST_PASSWORD <span>= 'your-app-password'</span>
Encore une fois, Crispy_Forms est une application Django, et nous devons l'inclure sur la liste installée_apps:
EMAIL_HOST <span>= 'smtp.mail.yahoo.com' </span>EMAIL_PORT <span>= 587 </span>EMAIL_USE_TLS <span>= True </span>EMAIL_HOST_USER <span>= 'your-email@yahoo.com' </span>EMAIL_HOST_PASSWORD <span>= 'your-app-password'</span>
Nous utilisons le pack de modèles de bootstrap 4, car les classes de formulaire bootstrap sont compatibles entre la 4e et la 5e version (au moment de la rédaction).
Maintenant, travaillons sur le modèle de contact.html:
python <span>-m venv .venv</span>
Notez comment nous avons prolongé le modèle de base et utiliser l'espace réservé du bloc. C'est ce qui rend la langue du modèle django si efficace, car elle nous permet d'économiser beaucoup de copie et de collage HTML.
En parlant du formulaire, nous utilisons la méthode «Post», ce qui signifie que notre ContactView traitera les données fournies par l'utilisateur et enverra l'e-mail si le formulaire est valide. Le {% csrf_token%} est obligatoire sous chaque forme pour des raisons de sécurité. La documentation de Django a une page dédiée sur les jetons CSRF et les raisons de les utiliser lorsque vous travaillez avec des formulaires.
Nous rendrons le formulaire avec la balise de modèle croustillant, c'est pourquoi nous avons chargé les balises croustillantes avec {% de chargement Crispy_Forms_Tags%}.
Enfin, écrivons le modèle Success.html:
<span># CMD </span>.venv<span>\Scripts\activate </span> <span># Power Shell </span>.venv<span>\Scripts\Activate.ps1 </span> <span># WSL </span><span>source .venv/bin/activate</span>
Comme vous pouvez le voir, c'est une annonce de succès simple avec un lien vers le formulaire de contact au cas où l'utilisateur souhaite envoyer un autre message.
Exécutez à nouveau le serveur et visitons http: // localhost: 8000 (assurez-vous que le .venv activé et vous êtes dans le dossier racine du projet):
pip <span>install django</span>
L'image ci-dessous montre à quoi ressemble le formulaire de contact final.
Et c'est une image du message de réussite.
Et voici une image de l'e-mail dans la boîte de réception.
Pour rendre votre logique de messagerie par courrier électronique modulaire et réutilisable, vous pouvez déplacer la fonction d'envoi d'e-mail à une fonction d'assistance:
django-admin startproject EmailProject
Vous pouvez maintenant appeler cette fonction partout où vous avez besoin d'envoyer des e-mails, y compris votre formulaire de contact.
Vous pouvez utiliser django.test pour tester les fonctionnalités de Django envoyées par e-mail.
<span>cd EmailProject </span>python manage.py runserver
Les e-mails HTML offrent une meilleure conception et présentation. Utilisez le moteur de modèle de Django pour créer un riche contenu par e-mail:
tree
Pour les applications prêtes pour la production, envisagez d'utiliser des services tiers tels que SendGrid, Mailgun ou AWS SES. Ces services offrent des fonctionnalités avancées comme l'analyse des e-mails, le suivi de livraison et le filtrage des spams.
├── EmailProject │ ├── asgi.py │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py 1 directory, 6 files
Envoyez des liens de vérification par e-mail pendant l'enregistrement des utilisateurs pour éviter les comptes de spam.
<span># EmailProject/settings.py </span> <span># Bottom of the file </span>EMAIL_BACKEND <span>= 'django.core.mail.backends.smtp.EmailBackend' </span>EMAIL_HOST <span>= '' </span>EMAIL_PORT <span>= 587 </span>EMAIL_USE_TLS <span>= True </span>EMAIL_HOST_USER <span>= '' </span>EMAIL_HOST_PASSWORD <span>= '' </span>
Félicitations! Vous avez appris à envoyer des e-mails avec Django et à créer également un formulaire de contact Django.
Il existe de nombreuses façons d'envoyer des e-mails avec Django. Dans ce tutoriel, vous avez réussi votre adresse e-mail personnelle, mais je voudrais que vous exploriez d'autres outils et les intégrer dans vos projets.
Dans ce tutoriel, nous avons couvert ce qui suit:
Pour en savoir plus sur Django, consultez «Créer une application de partage de photos avec Django».
Oui, Django fournit un framework en fin de messagerie intégré qui facilite l'envoi de courriels. En configurant les paramètres SMTP dans votre fichier SetfitS.py, vous pouvez envoyer des e-mails à l'aide de la fonction Send_Mail ou du CourmandMessage.
pour configurer Django pour envoyer des e-mails:
Pour envoyer Outlook Mail dans Django, vous pouvez utiliser les fonctionnalités d'envoi d'e-mails de Django avec les paramètres SMTP pour Outlook. Dans le fichier SetfitS.py de votre projet Django, configurez les paramètres SMTP pour Outlook. Ces paramètres permettront à Django de se connecter au serveur SMTP Outlook pour envoyer des e-mails.
Dans les paramètres de votre projet Django.py, configurez vos paramètres de serveur de messagerie entrant. Vous avez généralement besoin des détails du serveur IMAP (Internet Message Access Protocol) pour votre fournisseur de messagerie, ainsi que des informations d'authentification. Ensuite, utilisez la bibliothèque IMAPLIB pour vous connecter à votre serveur de messagerie et récupérer les e-mails. Vous pouvez le faire dans vos vues Django ou vos commandes de gestion personnalisées. Une fois que vous avez récupéré un e-mail, vous pouvez les traiter, extraire des informations et effectuer toutes les actions nécessaires dans votre application Django. Cela pourrait impliquer l'analyse du contenu de l'e-mail, le stockage des données pertinentes dans votre base de données ou déclencher des actions spécifiques en fonction du contenu ou de l'expéditeur de l'e-mail.
Pendant le développement, vous pouvez utiliser un backend de messagerie en option pour tester les e-mails sans vous connecter à un vrai serveur SMTP. Par exemple: backend e-mail de la console: imprime les e-mails au terminal au lieu de les envoyer.
python <span>-m venv .venv</span>
Pour des tests plus avancés, utilisez des outils comme MailHog ou MailTrap, qui agissent comme de faux serveurs SMTP pour capturer et afficher les e-mails de test.
Utilisez Django Environ pour charger des informations d'identification sensibles (comme l'hôte de messagerie, le nom d'utilisateur et le mot de passe) à partir d'un fichier .env:
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!