Changeset 36
- Timestamp:
- 05/31/07 13:36:53 (3 years ago)
- Files:
-
- docs/trunk/email.txt (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
docs/trunk/email.txt
r8 r36 3 3 ================== 4 4 5 Même si Python rend l'envoi d'email relativement simple via la bibliothèque `smtplib`_, Django fourni quelques wrappers pour rendre l'envoi d'emailtrès simple.5 Même si Python rend l'envoi d'emails relativement simple via la bibliothèque `smtplib`_, Django fourni quelques wrappers pour rendre l'envoi d'emails très simple. 6 6 7 7 Le code repose dans le module django.core.mail … … 39 39 40 40 41 * ``subjet``: Cha ine.42 * ``message``: Cha ine.43 * ``adresse_destinataire``: Cha ine.44 * ``liste_destinataires``: Une liste de cha ines. Chaque destinataire vera les autres destinataires dans le champs Destinataires de l'email.41 * ``subjet``: Chaîne. 42 * ``message``: Chaîne. 43 * ``adresse_destinataire``: Chaîne. 44 * ``liste_destinataires``: Une liste de chaînes. Chaque destinataire verra les autres destinataires dans le champs Destinataires de l'email. 45 45 * ``fail_silently``: Un booleen. S'il est à False, send_mail levera une exception smtplib.SMTPException. Voir la `documentation de smtplib` pour la liste de toutes les exceptions possibles. Elles sont toutes de sous classes de SMTPException. 46 (Note: là je crois qu'il y a une erreur dans la définition de cette variable... à v erifier)46 (Note: là je crois qu'il y a une erreur dans la définition de cette variable... à vérifier) 47 47 * ``auth_user``: Le nom de l'utilisateur à utiliser s'il est nécessaire de s'identifier auprès du serveur SMTP. S'il n'est pas fourni, Django utilisera la valeur de EMAIL_HOST_USER dans le fichier global_settings.py 48 48 * ``auth_password``: Le mot de passe à utiliser s'il est nécessaire de s'identifier auprès du serveur SMTP. S'il n'est pas fourni, Django utilisera la valeur de EMAIL_HOST_PASSWORD dans le fichier global_settings.py … … 64 64 ``fail_silently``, ``auth_user`` and ``auth_password`` sont utilisés de la même manière que pour send_mail() 65 65 66 Chacun des él ements du tupple donne lieu à un email different.66 Chacun des éléments du tupple donne lieu à un email différent. 67 67 68 68 Comme pour send_mail(), les destinataires d'une même liste de destinataires veront les adresses des autres destinataires dans le champs Destinataire de l'email. … … 80 80 mail_admins(suject, message, fail_silently=False) 81 81 82 ``mail_admins()`` pr efixe le sujet de l'email avec la valeur de la variable `EMAIL_SUBJECT_PREFIX`_, qui est ``"[Django] "`` par defaut.82 ``mail_admins()`` préfixe le sujet de l'email avec la valeur de la variable `EMAIL_SUBJECT_PREFIX`_, qui est ``"[Django] "`` par defaut. 83 83 84 84 Le champs "Expéditeur" de l'email sera la valeur de la variable `SERVER_EMAIL`_. … … 92 92 ======================== 93 93 94 ``django.core.mail.mail_managers()`` fonctionne comme ``mail_admins()``, à part que l'email est envoyé aux managers du site, tel que d efinis par la variable `MANAGERS`_.94 ``django.core.mail.mail_managers()`` fonctionne comme ``mail_admins()``, à part que l'email est envoyé aux managers du site, tel que définis par la variable `MANAGERS`_. 95 95 96 96 Voici sa définition:: … … 100 100 .. _MANAGERS : http://www.djangoproject.com/documentation/settings/#managers 101 101 102 Ex amples102 Exemples 103 103 ======== 104 104 … … 119 119 ============================= 120 120 121 L'injection d'entête est est technique malveillante qui en inserant des données suplementaires dans l'entête de l'email permet de modifier les champs "Destinataire" et "Expediteur" générés par votre script121 L'injection d'entête est une technique malveillante qui en insérant des données suplémentaires dans l'entête de l'email permet de modifier les champs "Destinataire" et "Expéditeur" générés par votre script 122 122 123 Les fonctions d'email d ecrites ci-dessus se protègent toutes contre l'injection d'entête en interdisant les retours chariot.124 Si l'un des champs "sujet", "exp editeur" ou "liste_destinataire" contient un retour chariot, que ce soit au format Unix, Windows ou Mac, les fonctions ci-dessus leveront une exception ``django.core.BadHeaderError`` (qui est une sous classe de ``ValueError``) et n'enveront pas l'email. Il est de votre responsabilité de de valider toutes les données avant de les passer aux fonctions d'email.123 Les fonctions d'email décrites ci-dessus se protègent toutes contre l'injection d'entête en interdisant les retours chariot. 124 Si l'un des champs "sujet", "expéditeur" ou "liste_destinataire" contient un retour chariot, que ce soit au format Unix, Windows ou Mac, les fonctions ci-dessus lèveront une exception ``django.core.BadHeaderError`` (qui est une sous classe de ``ValueError``) et n'enverront pas l'email. Il est de votre responsabilité de de valider toutes les données avant de les passer aux fonctions d'email. 125 125 126 Si un ``message`` contient des entêtes, les entêtes seront simplement affichées au d ebut du corps de email.126 Si un ``message`` contient des entêtes, les entêtes seront simplement affichées au début du corps de email.
