Kuinka lähettää sähköpostia sähköpostitse python django google SMTP -palvelimen kautta ilmaiseksi

Sähköpostien lähettäminen on yksi verkkosivuston tärkeistä osista. Itse asiassa melkein kaikki verkkosivustot tarvitsevat tämän osan, jos he saavat käyttäjät kirjautumaan sivuilleen esimerkiksi tilin aktivoimiseksi käyttäjän sähköpostin avulla, salasanan palauttamisen ja muun toiminnan avulla. Jos rakennat verkkosivustoa django-puitteilla, tämä opetusohjelma näyttää sinulle, kuinka lähettää sähköpostia käyttäjillesi.

Sähköpostien lähettämiseksi verkkosivustolta sinulla on oltava sähköpostin isäntäpalvelin, ja tässä tapauksessa aiomme käyttää google SMTP -palvelinta. Jotta tämä toimisi, sinulla on oltava toimiva gmail-tili ja tilissäsi on sallittava vähemmän turvallisen sovellusominaisuuden salliminen tilin suojausasetuksissa. Kirjaudu sisään google-tiliisi selaimesi kautta ja avaa tämä ominaisuus napsauttamalla tätä linkkiä. Tämä ominaisuus on tarkoitettu erityisesti google-tilisi suojaamiseen sovelluksilta, jotka eivät ole niin turvallisia käyttämään sitä, jotta hakkerit eivät tunkeudu tilillesi näiden sovellusten kautta.

djangon määrittäminen Gmail SMTP -palvelimelle.

sinun on lisättävä seuraavat asetukset asetukset.py-tiedostosi alle.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = Totta
EMAIL_PORT = 587
EMAIL_HOST_USER = 'your_account@gmail.com'
EMAIL_HOST_PASSWORD = 'tilisi salasana'

django käyttää yllä olevia asetuksia sähköpostien lähettämiseen sähköpostin isäntäpalvelimen kautta. EMAIL_BACKEND määrittelee django-taustan, joka toimii EMAIL_HOST-osassa määritetyn isäntäsähköpostipalvelimen kanssa sähköpostien lähettämiseksi käyttäjällemme, koska olet ehkä huomannut, että EMAIL_HOST-arvo on linkki googlen määrittelemään google's smtp-palvelimeen, löydät lisää tietoa siitä täällä. EMAIL_USE_TLS kertoo djangolle, mitä suojattua protokollaa tulisi käyttää yhteyden muodostamiseen palvelimeen. Voit käyttää TLS: ää kuten olemme täällä käyttäneet tai voit käyttää SSL: ää korvaamalla kyseisen osan EMAIL_USE_SSL: llä ja asettamalla ne totta. Huomaa, että et voi käyttää molempia kerralla. Jos käytät TLS: ää, EMAIL_PORT-arvo on 587, mutta jos käytät SSL: tä, portin arvon on oltava 465. Seuraavat kaksi osaa ovat itsestään selviä: laita toimiva gmail-tilisi siten, että vähemmän turvalliset sovellusominaisuudet ovat käytössä, ja laita salasanasi isäntään. salasanamuuttuja, huomaa, että salasana on näkyvissä täällä ja joku voi vain nähdä sen ja käyttää sitä, joten se on salattava, kun haluat isännöidä verkkosivustoasi. Tämä kaikki on valmisteltaessa djangoa sähköpostien lähettämistä käyttäjien sähköpostitilille.

määrittelee näkymätoiminnon

tämä osa riippuu siitä, haluatko lähettää sähköposteja käyttäjälle, tämän oppaan yksinkertaisuuden vuoksi oletan, että haluat kiittää heitä rekisteröitymisestä verkkosivustollesi ja se tarkoittaa maailmaa sinulle. Kirjoitan eetterin opetusohjelman siitä, kuinka aktivoida sivustosi käyttäjätilit sähköpostin vahvistusta käyttämällä. Sähköpostien lähettämiseksi sinun on tuotava seuraava Views.py-tiedostoon

osoitteesta django.core.mail tuota send_mail
osoitteesta django.conf tuodaan asetukset

send_mail on toiminto, joka lähettää sähköpostia käyttäjillemme. Se käyttää uusia lisättyjä asetuksia settings.py-tiedostoon. Se kestää useita parametrejä, mutta käytän yksinkertaisuuden vuoksi vähimmäisparametreja, joiden avulla voimme lähettää järkevän sähköpostin esimerkiksi tilin varmennuslinkin tai salasanan varmennuslinkin lähettämiseen. Näkymätiedostossa toiminnot näyttävät tältä

def sähköposti (pyyntö):
    Subject = 'Kiitos, että rekisteröit sivustollemme'
    viesti = 'se tarkoittaa meille maailmaa'
    email_from = asetukset.EMAIL_HOST_USER
    vastaanottajaluettelo = ['vastaanottaja@gmail.com',]
    lähetä_posti (aihe, viesti, sähköpostiosoite, vastaanottajaluettelo)
    palauta uudelleenohjaus ('uudelleenohjaus uudelle sivulle')

Se on yksinkertaisin toiminto, jonka voi kirjoittaa sähköpostien lähettämiseen django-maailmassa. Jos teet jotain monimutkaista, sinulla on todennäköisesti siellä ylimääräisiä juttuja, kuten käyttäjän sähköpostien ottaminen lomakkeesta tai jos se on tarkoitettu tilin aktivointiin, sinulla todennäköisesti on joitain toiminnot tuottavat salatun avaimen, joka lähetetään käyttäjän sähköpostiin ja kun he napsauttavat sitä, heidän tilinsä aktivoituvat ja vastaavat, mutta yksinkertaisuuden vuoksi päätin laittaa sen sellaiseksi. Sähköpostitoiminto on se, jota kutsutaan url-tiedostosta, kun sähköpostin lähetystoiminto käynnistyy. Send_mail-funktio vie paljon enemmän parametreja kuin mitä olen aiemmin käyttänyt, saat lisätietoja tästä djangon dokumentaatiosta tällä linkillä.

  • aihe: sähköpostin aihejono
  • viesti: sen viestin merkkijono, jonka haluat lähettää
  • email_from: sähköpostiosoitteesi ja tästä syystä minun piti tuoda asetustiedosto näkymätiedostoon, mutta sinun ei tarvitse tehdä sitä näin, voit kirjoittaa sähköpostisi sinne merkkijonona ja se toimii, mutta se auttaa välttämään virheitä sellaisten virheiden takia, kuten sähköpostiosoitteesi kirjoitusvirhe.
  • vastaanottajaluettelo: Lista merkkijonoista, jokainen sähköpostiosoite.

Tämä opetusohjelma on kaikki mitä sinun täytyy tehdä. Kiitos ajastasi.