/ / Django: Nastavenie e - mailu - python, django, e - mail

Django: Nastavenie e - mailu - python, django, e - mail

V mojom súbore "settings.py" som vytvoril nasledujúce položky

# Email setup
EMAIL_USE_TLS = True
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = "someone@someorg.com"
EMAIL_HOST_PASSWORD = "thepassword"
EMAIL_PORT = 587

Potom som v termináli vydal nasledovný príkaz:

email = EmailMessage("Hello","Have you received this mail?",to=["someone@gmail.com"])

mám 1 ako výstup.

Keď som skontroloval poštovú schránku na adrese "someone@gmail.com", v poštovej schránke neexistovala žiadna pošta. Chýba mi niečo?

odpovede:

2 pre odpoveď č. 1

Mali by ste nastaviť from_email parameter (ako kwarg alebo 3rd arg) s EmailMessage zavolať. Alebo nastavte v settings.py:

DEFAULT_FROM_EMAIL = "some.mail@inter.net"

Toto je implicitné, ak nie from_email je k dispozícii EmailMessage.

Na semi-súvisiace poznámky, to je pravdepodobne dobrý nápad tiež definovať SERVER_EMAIL v nastavení.py. Ten sa používa s mail_admins a mail_managers od Django.


1 pre odpoveď č. 2

Všetky vaše nastavenia sú správne a úplné, na konci ste jednoducho vynechali jednu vec. Vytvorili ste e-mailový objekt a teraz email je pripravený na odoslanie e-mailového objektu, ale musíte ho skutočne poslať email.send(), Pre viac informácií a príkladov skontrolujte Django dokumentácia, Tiež môžete použiť send_mail ktorý automaticky vytvorí e-mailový objekt a pošle ho.

from django.core.mail import send_mail

mail_title = "Hello!"
message = "Have you received this mail?"
email = "admin@company.com"
recipients = "someone@gmail.com"

send_mail(mail_title, message, email, [recipients])

0 pre odpoveď č. 3

Podľa nasledujúceho odkazu https://docs.djangoproject.com/en/1.3/topics/email/, mali by ste vložiť e-mail do zátvoriek. To znamená, že by to malo vyzerať takto:

from django.core.mail.import send_mail

mail_title = "Hello!"
message = "Have you received this mail?"
email = admin@company.com
recipients = "someone@gmail.com"

send_mail(mail_title, message, email, [recipients])