• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wysyłanie maila

VPS Starter Arubacloud
+1 głos
615 wizyt
pytanie zadane 16 maja 2020 w Python przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 17 maja 2020 przez Marak123

Teraz takie pytanie czemu kod do wysyłania maila nie działa:

import smtplib

TO = 'jurek69-00@wp.pl'
SUBJECT = 'testowyy'
TEXT ='taaaa'

gmail_sender = 'pojebany.janusz@gmail.com'
gmail_passwd = 'hasło'

server = smtplib.SMTP('smtp.gmail.com',587)
server.ehlo()
server.starttls()
server.ehlo
server.login(gmail_sender,gmail_passwd)

BODY = ' \r \n '.join([
'TO: %s' %TO,
'FROM: %s' %gmail_sender,
'Subject: %s' # SUBJECT,
' ',
TEXT
])

try:
    server.sendmail(gmail_sender,[TO],BODY)
    print('mail wyslany')
except:
    print('blad w wysylaniu maila')

server.quit()

To jest ten błąd:

Traceback (most recent call last):
  File "F:/Python/Mail/Mail.py", line 14, in <module>
    server.login(gmail_sender,gmail_passwd)
  File "C:\Users\użytkownik\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 734, in login
    raise last_exception
  File "C:\Users\użytkownik\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "C:\Users\użytkownik\AppData\Local\Programs\Python\Python38-32\lib\smtplib.py", line 646, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials r3sm8087964wmh.48 - gsmtp')

Wie ktoś czemu nie działa????

 

komentarz zamknięcia: Otrzymałem odpowiedź działa
komentarz 16 maja 2020 przez VBService Ekspert (251,170 p.)
przeniesione 17 maja 2020 przez VBService
Z tekstu błedu wynika, że musisz tu podać dane do konta, które istnieje, a nie fikcyjne j.n.

gmail_sender = 'pojebany.janusz@gmail.com'
gmail_passwd = 'hasło'
komentarz 16 maja 2020 przez Marak123 Stary wyjadacz (11,190 p.)

Właśnie w tym rzecz ze wpisuje prawidłowe dane nie fikcyjen ale nie kodałem tu bo to jednak jest używane hasło na paru portalach  a i tak wyskakuje m taki sam błąd.

Traceback (most recent call last):
  File "F:/Python/Mail/Mail.py", line 14, in <module>
    server.login(gmail_sender,gmail_passwd)
  File "F:\Python\Mail\smtplib.py", line 734, in login
    raise last_exception
  File "F:\Python\Mail\smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "F:\Python\Mail\smtplib.py", line 646, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials t22sm8444862wmj.37 - gsmtp')

Process finished with exit code 1

 

komentarz 17 maja 2020 przez VBService Ekspert (251,170 p.)
edycja 20 maja 2020 przez VBService

@Marak123, Jednak mimo wszystko, jak piszesz, że wpisujesz (podajesz) prawidłowe dane to i tak błąd wskazuje, żę jest problem z autoryzacją:





Może spróbuj założyć inny adres email do testów, ewentualnie sprawdż u kilku innych dostawców np.: załóż testowy email w gmail, o2, proton itp.
 

Niedawno potrzebowałem do sprawdzania serwera czy działa takie "proste" j.n. wink


import os
import smtplib
import requests
from datetime import datetime

# ----------------------------------------------------------------------------------------
# 5 sekund na odpowiedź serwera
SERVER_TIMEOUT = 5
# sprawdzenie stanu odtwarzania radia
SERVER_URL = 'http://slawianie.zapto.org:8000/?type=http'
# autoryzacja do konta email - zapisane otwartym tekstem
# konto używane tylko do tego celu ...
EMAIL_NAME = 'twoj.serwer.alert@gmail.com'
EMAIL_PASS = 'twoje_haslo'
# ... bardziej bezpieczne utworzenie zmiennych typu env
# w systemie i zczytanie do skryptu
# MAIL_NAME = os.environ.get('EMAIL_NAME_TEST_SERVER_ALERT')
# EMAIL_PASS = os.environ.get('EMAIL_PASS_TEST_SERVER_ALERT')

EMAIL_TIME_STAMP = str(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
EMAIL_SUBJECT = 'Serwer radio sławenia nie odpowiada ' + EMAIL_TIME_STAMP
EMAIL_BODY_TEXT_LINE1 = 'Sława!\nSerwer radio sławenia nie odpowiada.'
EMAIL_BODY_TEXT_LINE2 = '\nTest wykonany został: ' + EMAIL_TIME_STAMP
EMAIL_BODY_FOOTER_CALL_SCRIPT = 'monitor_serwer_slawenia_v.1.0'
EMAIL_BODY_FOOTER = '\n\nWiadomość wygenerowana automatycznie, skrypt: ' + EMAIL_BODY_FOOTER_CALL_SCRIPT

EMAIL_BODY = EMAIL_BODY_TEXT_LINE1 + EMAIL_BODY_TEXT_LINE2 + EMAIL_BODY_FOOTER

EMAIL_SENDER = EMAIL_NAME
EMAIL_RECEIVER = EMAIL_NAME
# ----------------------------------------------------------------------------------------

respons = requests.get(SERVER_URL, timeout=SERVER_TIMEOUT)

#    do testów:  if respons.status_code == 200:
# do działania:  if respons.status_code != 200:

if respons.status_code == 200:
    with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
        smtp.ehlo()
        smtp.starttls()
        smtp.ehlo()

        smtp.login(EMAIL_NAME, EMAIL_PASS)
        subject = EMAIL_SUBJECT
        body = EMAIL_BODY
        msg = f'Subject: {subject}\n\n{body}'

        smtp.sendmail(EMAIL_SENDER, EMAIL_RECEIVER, msg.encode('utf-8'))
else:
        print()
        print('Serwer działa - ' + EMAIL_TIME_STAMP)
        print()
        msg = ''

# Test output cmd ------------------------------------------------------------------------
print()
print('  Email sender:  ' + EMAIL_SENDER)
print('Email receiver:  ' + EMAIL_RECEIVER)
print()
print(msg)

W konsoli po uruchomieniu:

Na "skrzynce" pocztowej:

komentarz 17 maja 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Założyłem własnie w gmail.com testowego nowego usunąłem wszystkie zabezpieczenie zostawiłem tylko hasło włączyłem nawet impa czy jakoś tak to google proponował ale i tak nie dział

1 odpowiedź

+2 głosów
odpowiedź 17 maja 2020 przez VBService Ekspert (251,170 p.)
wybrane 17 maja 2020 przez Marak123
 
Najlepsza

Znalezione. wink.
Login credentials not working with Gmail SMTP

W skrócie, chodzi o to, że musisz potwierdzić każde tzw. "źródło logowania" w gmail.
To jest w ustawieniach gmail Twojego konta. (Coś podobne jak zezwalasz nowo zainstalowanemu programowi na Twoim komputerze z poziomu firewall na dostęp do sieci). Te potwierdzenie dla danej "akcji" wykonuje się jednorazowo dla konkretnego "źródła logowania"

P.S. Z Mojego doświadczenia, musiałem potwierdzić, że to ja się loguję do poczty:

  1. Z telefonu (jego nazwa) i tą aplikacją (jej nazwa),
  2. Z komutera (jego nazwa) i z tej przeglądarki (jej nazwa),
  3. Z telewizora smart (jego nazwa) i i tą aplikacją (jej nazwa), itd.
1
komentarz 17 maja 2020 przez Marak123 Stary wyjadacz (11,190 p.)

Dzięki działa ale dziwne bo wczoraj robilem to samo pozwalałem na dostęp mniej bezpieczny i nie działał ale dodałem również co tam jakiś typ pisał o dodaniu aplikacji to dodałem i był błąd jakiś z body czyli samą wiadomością 

BODY = ' \r \n '.join([
'TO: %s' %TO,
'FROM: %s' %gmail_sender,
'Subject: %s' # SUBJECT,
' ',
TEXT
])

Ale usunąłem to i napisałem po prosu tak:

BODY = ' \r \n '.join(["Siema to jest testwy mail"])

 I dział wysłało dzięki wielkie za pomoc męczyłem się z tym już od czwartku.smileyyes

Podobne pytania

0 głosów
0 odpowiedzi 382 wizyt
0 głosów
1 odpowiedź 324 wizyt
pytanie zadane 21 stycznia 2020 w Systemy operacyjne, programy przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
0 odpowiedzi 525 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez antekwi546 Użytkownik (510 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...