1. Forum używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. Czytaj więcej...

ROZWIĄZANE Joomla - formularz kontaktowy (a jakże)

Dyskusja w 'WordPress, Joomla!, PHP, HTML, CSS' rozpoczęta przez użytkownika msc, 16 Listopad 2016.

  1. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Przejrzałem forum i nie znalazłem odpowiedzi na problem, mimo, że ten jest tu poruszany.
    Mam kilka stron na Joomla z kupionym modułem formularza kontaktowego, który nie działa na Home.pl. Producent - JoomlaShine (https://www.joomlashine.com/joomla-extensions/jsn-uniform-joomla-contact-form-extension.html) mi nie pomoże, bo problem który mamy na Home.pl nie jest znany na świecie.

    Czyli miałem coś co działa, a już nie mam :(

    Modyfikacja kodu modułu? Jak jest opisywane na forum? Być może.. razy ilość stron razy ilość aktualizacji modułu w roku. W dodatku nie wiem czego szukać, wyrażenia "mail()" nie ma.

    Czy macie generalne rozwiązanie problemu dla użytkowników Joomla?
    Formularz np. na stronie http://flexijet.pl/kontakt
     
  2. LorK

    LorK Przyjaciel forum Beta-tester

    Wiadomości:
    1 064
    Docenione treści:
    96
  3. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Sprawdziłem. Tam rozwiązaniem jest modyfikacja pliku helper.php
    Ja nie mam takiego pliku, a za mało się znam, coby odnaleźć czegoś na kształt $headers .= 'From: '.$email."\r\n";
    w plikach mojego skryptu.
     
  4. LorK

    LorK Przyjaciel forum Beta-tester

    Wiadomości:
    1 064
    Docenione treści:
    96
    @msc, z całym szacunkiem. Jeśli się nie znasz - to nie dotykaj ;)

    Ja nie korzystam z Joomli, więc nie wiem jak to działa. Zwykle jest tak, że jeśli za coś płacisz to masz jakiś support - napisz do nich, że potrzebujesz ustawić:

    Kod:
    $headers .= 'From: '. $name .' <server@nazwa-twojejdomeny.pl>' . "\r\n";
    $headers .= 'Reply-To: '. $name .' <'. $email .'>' . "\r\n";
     
  5. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    @LorK , z całym szacunkiem - nie pomagasz. Co oznacza - "nie dotykaj"? Nie używać? Wtedy nie będzie problemu?
    Rozmawiam z dostawcą: Dostawca modułu mówi: "skontaktuj się ze swoim dostawcą serwera, nie znamy na świecie serwera, na którym nasz skrypt nie działa. Do wysyłania maili używamy "default Mailer of Joomla""

    Proszę o pomoc - formularze działały, a nie działają.
     
  6. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 403
    Docenione treści:
    535
    @msc jeśli tak Ci napisał dostawca to powiem Ci, że Cię po prostu olał. Nie tylko home używa dodatkowego parametru przy funkcji mail().
    Poszukaj w swoim skrypcie:
    Kod:
    mail(
    
    dopisz ostatni parametr i po sprawie, a skoro skrypt nie korzysta z smtp to musi gdzieś taki wpis być :)
     
  7. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    Hm... skoro skrypt korzysta z domyślnego mechanizmu do wysyłania maili w Joomla, to spróbuj przejść do "Konfiguracji globalnej" -> zakładka "Serwer" -> sekcja "Poczta". W tym miejscu ustaw przy polu "Obsługa poczty", aby poczta była wysyłana przez SMTP i podaj dane do serwera pocztowego:
    • serwer SMTP [ustaw nazwaserwera.home.pl],
    • port SMTP [ustaw 587],
    • bezpieczeństwo SMTP [ustaw brak],
    • uwierzytelnianie SMTP [ustaw na TAK],
    • użytkownik SMTP [wpisz pełny adres e-mail, z którego będą wysyłane wiadomości z Joomla, konto pocztowe musi istnieć na serwerze],
    • hasło SMTP [wpisz hasło dostępu do tej skrzynki e-mail],
    • wysyłaj z adresu [podaj ten sam adres e-mail],
    • nazwa nadawcy [wpisz jaka nazwa nadawcy ma być wyświetlana przy wiadomościach, np. Jan Kowalski].

    Jeśli zmiana na SMTP w tym miejscu nie pomoże daj znać, poszukamy jak zmodyfikować skrypt.
     
  8. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Nie do końca. Dostawca właśnie dowiedział się o tym co wymyślił Homenet gdzieś daleko w Polsce. Więc to potrwa.

    Zwróć uwagę, że komponent działał dobrze wszędzie - a od września dalej działa wszędzie.. tylko u mnie nie. Czy byłbyś taki hop ze zmianami skryptu na miejscu producenta? Więc to potrwa.I faktycznie może mnie oleją na koniec.

    Ale dla mnie ważniejsze, żeby mnie Home.pl nie olał skoro jestem tu bodaj 18 lat

    Niestety, nie widzę nigdzie w katalogu komponentu "mail("
    Inny pomysł? Czego innego miałbym poszukać?
     
  9. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 403
    Docenione treści:
    535
    sprawdź sposób Mariusza, nie doczytałem, że skrypt używa joomlowego defaultowego mailingu
     
  10. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Sprawdziłem SMTP (screen) na dwóch formularzach - test mail działa prawidłowo - formularz nie.

    Załączam też screeny, które mi pokazał dostawca na dowód, że używają mailingu joomla (2 x screen). Nie napisał tylko jaki to plik i właśnie przeszukuję katalogi 2016-11-17_122224.jpg ScreenShot2016-11-16at10.02.06AM.png ScreenShot2016-11-16at10.02.52AM.png 2016-11-17_122224.jpg ScreenShot2016-11-16at10.02.06AM.png ScreenShot2016-11-16at10.02.52AM.png
     
  11. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    @msc zmień SMTP Host na: "nazwaserwera.home.pl" (bez przedrostka smtp na początku) i sprawdź czy wtedy wiadomości są wysyłane z formularza.
     
  12. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    sprawdzałem z smtp i bez tego przedrostka -> samo "msc.home.pl" - test działa, formularz nie.
     
  13. TheL

    TheL @Lider VIP Beta-tester

    Wiadomości:
    2 403
    Docenione treści:
    535
  14. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    trudne pytanie. nie wiem, bo oba adresy działają - na wszelki wypadek sprawdziłem obie wersje - test maila działa - formularz nie.
     
    Ostatnia modyfikacja: 17 Listopad 2016
  15. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    @msc hm, na moje oko wyciąga zmienne mailfrom oraz fromname. Napisz proszę dodatkowo z jakiego adresu dostajesz testową wiadomość e-mail - jaki jest przy niej from. Musimy spowodować, aby wiadomosci wysyłane z formularza były wysyłane przez ten adres e-mail (musi być to istniejąca skrzynka e-mail na tym samym serwerze, na którym znajduje się skrypt).

    Jeśli w module tego formularza nie ma mozliwości wyboru adresu "from" i/lub wyboru rodzaju połączenia (SMTP), to podeślij mi proszę w wiadomości prywatnej lokalizację tego modułu na serwerze FTP (np. w jakim katalogu znajduje się instalacja Joomla oraz jak nazywa się wtyczka/moduł), muszę zajrzeć do plików.
     
  16. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Testowy mail z dzisiejszych testów - ten przechodzi:
    Kod:
    Return-Path: <msc@home.pl>
    Received: from cloudserver000758.home.net.pl (212.85.98.250) (HELO schody.pl)
     by msc.home.pl (212.85.98.250) with SMTP (IdeaSmtpServer 0.81)
     id 3573f0d9f435976a; Thu, 17 Nov 2016 16:30:00 +0100
    Date: Thu, 17 Nov 2016 16:30:00 +0100
    To: msc@home.pl
    From: Flexijet <msc@home.pl>
    Subject: Test mail from Flexijet - laserowy pomiar 3D
    Message-ID: <eae33c40238dd4ad7e2dba014c311ba0@schody.pl>
    X-Mailer: PHPMailer 5.2.16 (https://github.com/PHPMailer/PHPMailer)
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    
    This is a test mail sent using "SMTP". If you receive it, then your email settings are correct!
    
    Mam starą wiadomość z formularza, który działał przed zmianami - choć wtedy miałem ustawione wszystko na phpmailera:
    Kod:
    Return-Path: <msc@home.pl>
    Received: from  (/usr/run/smtp) (HELO localhost)
     by msc.home.pl (212.85.98.250) with SMTP (IdeaSmtpServer v0.80)
     id 392894fbd7063aa3; Fri, 2 Jan 2015 16:44:07 +0100
    To: msc@home.pl
    Subject: Compass Zapytanie
    Date: Fri, 2 Jan 2015 16:44:07 +0100
    From: compass.schody.pl <msc@home.pl>
    Reply-To: compass.schody.pl <msc@home.pl>
    Message-ID: <593f3bfa0ee3990e85ac425c0512eb0a@www.compass.schody.pl>
    X-Priority: 3
    X-Mailer: PHPMailer 5.2.1 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
    MIME-Version: 1.0
    Content-Transfer-Encoding: 8bit
    Content-Type: text/html; charset="utf-8" 
    Pole FROM w formularzu jest ustawione .. ale dane są prawdopodobnie brane z server mail set 2016-11-17_164027.jpg tings
     
  17. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    @msc ustawiłem wszędzie w ustawieniach wtyczki, aby adres FROM (czyli z jakiego adresu e-mail mają być wysyłane wiadomości) był następujący: flexijet@flexijet.pl (sprawdziłem i taka skrzynka e-mail znajduje się na serwerze i jest aktywna). Dodatkowo w konfiguracji komponentu (Components -> JSN UniForm -> Configuration) ustawiłem, aby domyślnym adresem FROM był adres: flexijet@flexijet.pl. Wykonałem parę testów, ale nie jestem z nich zadowolony, ponieważ po każdej wysyłce wiadomości nie ma nawet żadnego komunikatu czy wiadomość została wysłana czy nie. Próbowałem zmieniać ustawienia na SMTP, sendmail oraz PHP mail. Sprawdź proszę czy otrzymałeś jakąkolwiek wiadomość testową.

    Cała filozofia ogranicza się do tego, aby w nagłówkach wiadomości był dodany adres e-mail FROM. Komponent ponoć umożliwia zdefiniowanie FROMA, ale według mnie wiadomości nadal nie są wysyłane. Jeśli możesz, to podeślij mi jakoś w prywatnej wiadomości pliki tego dodatku, abym mógł sprawdzić ich zawartość... (np. spakowany katalog komponentu uniform).

     
  18. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2

    Podesłałem komponent na priv.
    Proszę zobacz, że w powyższej wklejonym źródle starej wiadomości (póki formularz jeszcze działał) wyraźnie jest FROM i to z zarejestrowanym adresem.

    2016-11-18_100800.jpg
     
  19. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    Przeszukałem pliki i mimo szczerych chęci nie znalazłem odpowiednich elementów, które odpowiadają za funkcję mail().

    Według poniższego kodu, wygląda na to, że skrypt poprawnie wyciąga informacje o FROMie. Wygląda na to, że pobierany jest adres e-mail, który został podany w ustawieniach formularza kontaktowego w PA.

    Kod:
        if ($templateData->template_from != '' && JMailHelper::isEmailAddress($templateData->template_from))
                    {
                        $mailfrom = $templateData->template_from;
                    }
    Pada w takim razie pytanie czy w ogóle skrypt wykonuje próby wysyłki. Sprawdziłem te informacje z administratorami i wychodzą z serwera tylko testowe wiadomości z Globalnej konfiguracji Joomla (poniżej cytat z logów):
    Kod:
    18.11.2016 10:53:28  [/usr/run/smtp] socket/plain(php55: flexijet.pl/flexijet33/administrator/index.php [7 work] DOCUMENT_ROOT=/flexijet33 SCRIPT_FILENAME=/flexijet33/administrator/index.php) [msc] mess: 868b65828a6aef13 674 from: <flexijet@flexijet.pl> [flexijet+flexijet_pl.msc] to: <flexijet@flexijet.pl> [flexijet+flexijet_pl.msc] status: LOCAL OK [INBOX/724], Fuz1=2 Fuz2=3 Body=2 Diff=1/3 3/120 [normal] 
    Wygląda na to, że skrypt nawet nie wykonuje prób wysyłki, bo w logach nie znaleźliśmy żadnego wpisu. Jeśli skrypt próbowałby wysłać jakąś wysyłkę bez odpowiedniego FROMa, to widzielibyśmy o tym w logach. W tym przypadku tak nie jest. Sugeruję kontakt z autorem aplikacji, bo jak widzisz, wiadomości e-mail testowe od Joomla wychodzą prawidłowo, ale z poziomu formularza kontaktowego już nie (nawet nie są wykonywane próby wysyłki przez skrypt, bo nie widać tego w logach).

    Próbowaliśmy również zmieniać wersję PHP, ale to również nie pomogło. Poza tym zawartość Twojego .htaccessa nie wygląda na standardowy, ale to raczej nie powinno mieć wpływu na funkcjonowanie formularza kontaktowego.
     
    msc lubi to.
  20. msc

    msc Bywalec

    Wiadomości:
    16
    Docenione treści:
    2
    Dostawca modułu na dowód "że to nie UniForm źle działa" pokazał mi raport ze "Zbadaj" - Narzędzi Administracyjnych przeglądarki.. z blokadą serwera z błędem 403 (wklejam).

    Poszedłem tym tropem i zauważyłem info o Admin Tools. Mam taki moduł, więc wyłączyłem go i sprawdziłem. Nie poszło. Ale poszedłem dalej i odinstalowałem kompletnie Admin Tools. Formularz zadziałał.

    Nie wiem dlaczego AdminTools zaczął blokować mi formularze. Nie ruszałem go od miesięcy.

    Niemniej dziękuję @Mariusz za zajęcie się moją sprawą. Wydaje się, że UniForm prawidłowo działa na Homie.
    Pozdr
    2016-11-18_115352.jpg
     
    Mariusz lubi to.

Poleć forum znajomym