8771 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis en train d'étudier le développement d'une boutique en ligne avec Django,

à un moment donné, dans le tuto, on me propose de créer une entrée dans "Mots de passe des applications" dans un compte Gmail, afin de pouvoir envoyer des emails de confirmation à partir du code de l'appli Django.

Ça marche parfaitement, mais je voudrais savoir si on peut pas faire ça autrement qu'avec Google? (les emails en gmail.com ne font pas très professionnel...) J'ai des hébergement partagés avec autant d'emails que je veux mais je ne retrouve pas la possibilité d'en utiliser un pour ce genre de tâche.

upload/1685953158-40948-appli-1.jpg
Modérateur
Salut,

Ta question sort du cadre de Django. Donc, non tu ne peux pas faire autrement avec Google mail. Tu dois utiliser le mot de passe application google mail.

Dans le cas où tu utiliserais une autre config SMTP, tu dois mettre cette config dans le settings.py et ça se passe ainsi.

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST = 'smtp.dns.com'
EMAIL_HOST_USER = 'compte_email@dns.com'
EMAIL_HOST_PASSWORD = 'mot de passe'
EMAIL_PORT = 587
EMAIL_USE_TLS = True


Sache que dans le CLI de django, tu peux faire un envoi de mail afin de tester (pas la peine de passer par le template pour tester (lancer le serveur et rendre la vue) :

1. dans un terminal :

$ ./manage.py shell

Dans le cas où tu utiliserais django_extensions

$ ./manage.py shell_plus



2. dans de shell de Django [^1]

from django.core.mail import send_mail
from django.conf import settings


send_mail(
    'Django mail', 
    'Ce mail envoyé par django.', 
    settings.EMAIL_HOST_USER, 
    ['compte_mail_destinataire@dns.com'], 
    fail_silently=False
)


[^1] :
* send_mail (auth_user, auth_password ==> settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)
* settings
Modifié par niuxe (05 Jun 2023 - 17:36)
niuxe a écrit :
Salut,

Ta question sort du cadre de Django. Donc, non tu ne peux pas faire autrement avec Google mail. Tu dois utiliser le mot de passe application google mail.


enfin... y a pas un autre système???

depuis quand est-on obligé de devoir systèmatiquement passer par google pour envoyer des email?

Google n'a pas le monopole du smtp il me semble Smiley smile
Modérateur
lionel_css3 a écrit :


enfin... y a pas un autre système???

depuis quand est-on obligé de devoir systèmatiquement passer par google pour envoyer des email?

Google n'a pas le monopole du smtp il me semble Smiley smile


Je viens d'éditer ma réponse précédente.
(merci pour l'edit... )

La question que je me pose (en dehors du code de django) c'est que j'ai des hébergements mutualisés (avec cPanel) et des domaines sur lesquels sont déclarées des adresses email, est ce que je peux les utiliser sans passer par Google....
Modérateur
lionel_css3 a écrit :
(merci pour l'edit... )

La question que je me pose (en dehors du code de django) c'est que j'ai des hébergements mutualisés (avec cPanel) et des domaines sur lesquels sont déclarées des adresses email, est ce que je peux les utiliser sans passer par Google....


bien sûr que oui et dans ce cas, tu utilises le smtp de ton hébergeur. À noter que Django fait une surcouche de la std smtplib
Modifié par niuxe (06 Jun 2023 - 02:15)
lionel_css3 a écrit :
(merci pour l'edit... )

La question que je me pose (en dehors du code de django) c'est que j'ai des hébergements mutualisés (avec cPanel) et des domaines sur lesquels sont déclarées des adresses email, est ce que je peux les utiliser sans passer par Google....


Salut,
ben oui, je suis comme toi chez Amen en mutualisé, avec des adresses mail fournies dans le pack et je les utilise le plus normalement du monde, aussi bien en envoi qu'en réception. Elles ont juste le nom de ton site comme extension, ce qui peut être parfois long.
Bongota a écrit :


Salut,
ben oui, je suis comme toi chez Amen en mutualisé, avec des adresses mail fournies dans le pack et je les utilise le plus normalement du monde, aussi bien en envoi qu'en réception. Elles ont juste le nom de ton site comme extension, ce qui peut être parfois long.



merci à toi

ah ok, alors comme mot de passe, tu mets simplement le mot de passe du mail?
il faut pas renseigner aussi un server smtp?
Salut,
si tu décide d'utiliser un client de courrier courriel comme Thunderbird :
Server Settings
Server Type IMAP Courriel Server
Server Name : courriel.ton_nom_de_domaine.fr (ou autre extension) Bien "courriel" au début et pas un courriel quelconque.
User Name : machin@ton_nom_de_domaine.fr (ou autre extension) "machin" étant ton login.
Port 143 (je crois que je n'ai pas eu à choisir).
Sinon, ailleurs dans Account Settings et "Outgoing Server (SMTP)
machin@ton_nom_de_domaine.fr - smtp.ton_nom_de_domaine

Et ça a fonctionné comme ça, sachant que tu peux choisir le serveur SMTP de sortie, il y a une liste déroulante.
Deux fois que je corrige mail à la place de courriel en haut et deux fois que ça revient courriel Smiley hum
Modifié par Bongota (07 Jun 2023 - 08:55)
Modérateur
lionel_css3 a écrit :

ah ok, alors comme mot de passe, tu mets simplement le mot de passe du mail?

normalement oui
lionel_css3 a écrit :

il faut pas renseigner aussi un server smtp?

ça va de soi. Je t'invite à relire ma 1ère réponse. (le port peut-être 465 ou 587). Vois avec la config attendue de ton hébergeur. Un exemple de config Gandi

@bongota: Il ne désire pas installer un client mail. Il souhaite configurer son environnement de dev (pour transmettre des emails). Cela dit, tu as rédigé une solution partielle puisque c'est à peu près la même chose à configurer
Modifié par niuxe (07 Jun 2023 - 19:59)
niuxe a écrit :

normalement oui

ça va de soi. Je t'invite à relire ma 1ère réponse. (le port peut-être 465 ou 587). Vois avec la config attendue de ton hébergeur. Un exemple de config Gandi

@bongota: Il ne désire pas installer un client mail. Il souhaite configurer son environnement de dev (pour transmettre des emails). Cela dit, tu as rédigé une solution partielle puisque c'est à peu près la même chose à configurer

Désolé, j'ai mal lu. Smiley decu