[inny]Laravel - wysyłanie kodu aktywacyjnego a następnie wlogowanie do Panelu, jak wykonać funkcje Mail ? |
[inny]Laravel - wysyłanie kodu aktywacyjnego a następnie wlogowanie do Panelu, jak wykonać funkcje Mail ? |
23.05.2019, 19:38:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Panowie nie bardzo wiem lub nie bardzo rozumiem , zasadę tworzenia szablonów by móc skorzystać z funkcji Mail , w czystym php'ie wystarczyło dołączyć klasę phpmailer i na tym temat się kończył.
Chciałbym wykonać schemat rejestracji dwu etapowej, tzn. user się rejestruje , Ja wysyłam do niego wiadomość z kodem, w tym czasie rejestracja się przeładowuje np na strona/activate z polem do wpisania kodu oraz przyciskiem "wyślij ponownie kod" , następnie po wklepaniu poprawnego kodu wylogowuje się do panelu administracyjnego. Mój obecny kod RegisterController.php
z tego co wyczytałem, musiałbym teraz wykonać (nie wiem czy dobrze zrozumiałem) następujący kod:
a w nim wstawić:
następnie możemy sobie edytować jak chcemy nasz szablon: resources/views/emails/activate.blade.php następnie jakoś chyba trzeba by było wkleić w Register :
no i jeszcze kwestia tych przekierowań i sprawdzanie czy ktoś podał poprawny kod aktywacyjny , ewentualnie zamiast sprawdzania to chyba by zrobić link aktywacyjny w mailu |
|
|
23.05.2019, 20:02:59
Post
#2
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
no ale z czym masz problem ? Wkleiłeś trochę kodu - pewnie zapatrzonego z neta, podstawę jakąś masz, co chcesz zrobić też wiesz, to dlaczego nie lecisz z tematem ? pisz, testuj, czytaj dokumentacje. jak będziesz miał z czymś konkretnym problem to pisz, bo na razie to wygląda tak: "rzuciłem wam kawałek kodu, weźcie dopiszcie resztę aby działało"
|
|
|
23.05.2019, 20:20:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
wkleiłem kod by dowiedzieć się / zasięgnąć porady starszych rangą czy ów sposób jest poprawny czy można to zrobić w sposób prostszy.
Swoją drogą, czy jeśli będę chciał więcej razy korzystać z ::Mail to tyle razy mam tworzyć model blady itd? Aktywuj, Newsletter, WyślijWiadomość itd itp ? |
|
|
23.05.2019, 21:51:59
Post
#4
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
Cytat wkleiłem kod by dowiedzieć się / zasięgnąć porady starszych rangą czy ów sposób jest poprawny czy można to zrobić w sposób prostszy. przeglądałeś dokumentację, widzisz co proponują. W internecie jest tez sporo przykładów, popatrz jak to robią inni. Finalnie to Tobie ma pasować. Dawno nie pisałem w laravelu, nie pomogę Ten post edytował gitbejbe 23.05.2019, 21:54:26 |
|
|
23.05.2019, 21:58:59
Post
#5
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
im dalej w las tym większe drzewa w tym Laravelu
z tego co zrozumiałem, config/mail.php wybiera ustawienia jeżeli jest konfiguracja w env logi pokazują , że niby wiadomość wysłana ,a mimo tego brak wiadomości na mailu (tak SPAM) też sprawdziłem. Czy da radę sprawdzić brak autoryzacji do smtp lub inne wyjątki ? |
|
|
24.05.2019, 00:12:30
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Cytat Problem nie jest z Laravel'em tylko z Twoim poziomem. Najpierw przydałoby by się ogarniać jakieś podstawy php/mysql przecież takie coś nie ma racji bytu.. Cytat https://laravel.com/docs/5.8/eloquent#eloqu...del-conventions -> timestamps. Co do maili https://laravel.com/docs/5.8/mail wszystko tu jest opisane - masz klasę, która definiuje pojedynczą formatkę maila i potrzebujesz jednej linijki aby wysłać do określonego usera tego maila. Mogę jedynie polecić aby testować maile za pomocą MailTrap, a nie na realnym SMTP. -------------------- |
|
|
25.05.2019, 13:44:54
Post
#7
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@markonix nie bardzo rozumiem, czepiania się randowania id_user oraz datetime zamiast timestampa , tym bardziej, że nie interesują mnie strefy czasowe a w sam timestamp jest nieczytelny spoglądając w phpmyadmin. Co z tego że jest timestamp rekomendowany , skoro musiałbym go "obrabiać"
Tworze tak jak w tym tutorialu , nawet skorzystałem z mailTrapa lecz nic nie otrzymuje na maila. W logach jest treść blade'a. W RegisterController.php kod:
oraz Activate
próbowałem też wpisywać adres mailowy ten z mailTrapa i też lipa. Ten post edytował casperii 25.05.2019, 15:47:28 |
|
|
25.05.2019, 15:51:40
Post
#8
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) |
id_user musi być unikalny. Używając rand, to tak jakbyś kostką rzucał. Czasem wypadnie 3 razy to samo.
|
|
|
25.05.2019, 16:20:57
Post
#9
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
w zakresie 100 - 999999999 ciężko powtórzyć te samo wylosowanie , po drugie, pole id_user jest w bazie unikatowe czyli nie zdubluje, po trzecie będzie warunek na etapie walidacji , że coś poszło nie tak.
|
|
|
25.05.2019, 16:31:20
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Tak czy inaczej to zły pomysł. Oprócz wysyłki możesz też maila wyświetlić. Może w szablonie jest problem?
-------------------- |
|
|
25.05.2019, 20:33:30
Post
#11
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@viking - zatem jaki masz pomysł na generowanie losowego ID usera - nie auto
inkrementacja. w activate.blade.php mam tylko "poszło" zupdatowałem trochę kod i otrzymuję błąd nie wysłania "Email could not be sent.": plik Activate.php
plik RegisterController.php
aha w logach mam takie coś: 2019-05-25 19:28:33] local.ERROR: Email could not be sent. {"exception":"[object] (Exception(code: 0): Email could not be sent. at D:\\projekt\\app\\Http\\Controllers\\Auth\\RegisterController.php:55) [stacktrace] |
|
|
25.05.2019, 21:26:24
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
@markonix nie bardzo rozumiem, czepiania się randowania id_user oraz datetime zamiast timestampa , tym bardziej, że nie interesują mnie strefy czasowe a w sam timestamp jest nieczytelny spoglądając w phpmyadmin. Co z tego że jest timestamp rekomendowany , skoro musiałbym go "obrabiać" Bo od tego jest właśnie autoincrement, a nie funkcja rand(). Timestamp i datetime w bazie MySQL wyglądają tak samo. Nic nie trzeba obrabiać, a wręcz Laravel bardzo ułatwia operowanie na datach, ale mnie w ogóle nie chodziło o format daty tylko sam fakt, że Eloquent ma wbudowaną obsługę znaczników czasowych. Skonfigurowałeś dobrze w ogóle Mailtrapa? From i to są nieistotne, wszystko na niego trafi. Ten post edytował markonix 25.05.2019, 21:28:10 -------------------- |
|
|
25.05.2019, 22:27:02
Post
#13
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
właśnie chcę uniknąć auto inkrementacji , nie chce by ktoś skakał mi po profilach strona.pl/id/1 , strona.pl/id/2 itd
po paru godzinach walki zaczęło trybić, być może dlatego , że przepisałem dane w config/mail.php Nie rozumiem jednego dlaczego przy poprawnym wysłaniu maila spełnia się ten warunek (kod zaczerpnięty z neta):
Ten post edytował casperii 25.05.2019, 23:11:40 |
|
|
26.05.2019, 17:50:55
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
właśnie chcę uniknąć auto inkrementacji , nie chce by ktoś skakał mi po profilach strona.pl/id/1 , strona.pl/id/2 itd A co za różnica dla mnie (dla bota) czy będę skakał po 1, 2 i 3, a 100, 500, 1000? Że bot mi wylistuje listę profili w minutę, zamiast w kilka sekund? po paru godzinach walki zaczęło trybić, być może dlatego , że przepisałem dane w config/mail.php Zaczęło trybić gdy zrobiłeś to od czym pisałem od początku czyli ustawić dobrze config maila. -------------------- |
|
|
26.05.2019, 19:28:55
Post
#15
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Ehh Przecież dostałeś odpowiedź w innym temacie a Ty nadal swoje (mówię o unikalnych wartościach)
|
|
|
27.05.2019, 09:13:01
Post
#16
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) |
|
|
|
3.06.2019, 16:12:50
Post
#17
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@Pyton_000 UUID zastosowałem do wygenerowania unikalnego kodu weryfikacji, natomiast id_user i tak będę się upierać , że lepszy random z ewentualnym sprawdzaniem czy istnieje niż autoinkrementacja.
Chociaż tak sobie pomyślałem, że do id_user też można użyć wspomnianego uuid |
|
|
3.06.2019, 19:44:52
Post
#18
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
@Pyton_000 UUID zastosowałem do wygenerowania unikalnego kodu weryfikacji, natomiast id_user i tak będę się upierać , że lepszy random z ewentualnym sprawdzaniem czy istnieje niż autoinkrementacja. Chociaż tak sobie pomyślałem, że do id_user też można użyć wspomnianego uuid Używanie UUID jest powszechną praktyką, ale np. przy pisaniu aplikacji rozproszonych, API itp. a nie dla wyimaginowanych problemów jak Twoje. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 17:02 |