Witam użytkowników forum Pomagam koleżance uruchomić stronę www.drkedziora.eu która jest już umieszczona na home.pl Do uruchomienia pozostało wysyłanie wiadomości ze strony. Doczytałem, że po wprowadzeniu zmian które dają zabezpieczenie antyspamowe trzeba edytować kod w określony sposób aby zaczęło wszystko śmigać. Sporo materiałów przejrzałem i na forum i w pomocy np. https://pomoc.home.pl/baza-wiedzy/formularz-kontaktowy-na-stronie-www-nie-wysyla-wiadomosci/ ale niestety nie udało się uruchomić tej funkcji. Trochę biednie u mnie z wiedzą na temat PHP i dlatego proszę o pomoc w edycji kodu. Wysyłanie działa u innych dostawców bo miałem okazję sprawdzić a więc kod sam w sobie jest OK. Z góry dziękuję za pomoc i poświęcony dla mnie czas PHP: <?phprequire_once('phpmailer/PHPMailerAutoload.php');$toemails = array();$toemails[] = array( 'email' => 'kancelaria@drkedziora.eu', // Your Email Address 'name' => 'Renata Kędziora' // Your Name );// Form Processing Messages$message_success = '<strong>ODEBRALIŚMY</strong> Twoją wiadomość. Skontaktujemy się najszybciej jak to będzie możliwe';// Add this only if you use reCaptcha with your Contact Forms$recaptcha_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Your reCaptcha Secret$mail = new PHPMailer();// If you intend you use SMTP, add your SMTP Code after this Lineif( $_SERVER['REQUEST_METHOD'] == 'POST' ) { if( $_POST['template-contactform-email'] != '' ) { $name = isset( $_POST['template-contactform-name'] ) ? $_POST['template-contactform-name'] : ''; $email = isset( $_POST['template-contactform-email'] ) ? $_POST['template-contactform-email'] : ''; $phone = isset( $_POST['template-contactform-phone'] ) ? $_POST['template-contactform-phone'] : ''; $subject = isset( $_POST['template-contactform-subject'] ) ? $_POST['template-contactform-subject'] : ''; $message = isset( $_POST['template-contactform-message'] ) ? $_POST['template-contactform-message'] : ''; $subject = isset($subject) ? $subject : 'Nowa wiadomość ze strony drkedziora.eu'; $botcheck = $_POST['template-contactform-botcheck']; if( $botcheck == '' ) { $mail->SetFrom( $email , $name ); $mail->AddReplyTo( $email , $name ); foreach( $toemails as $toemail ) { $mail->AddAddress( $toemail['email'] , $toemail['name'] ); } $mail->Subject = $subject; $name = isset($name) ? "Nazwisko: $name<br><br>" : ''; $email = isset($email) ? "Email: $email<br><br>" : ''; $phone = isset($phone) ? "Telefon: $phone<br><br>" : ''; $message = isset($message) ? "Wiadomość: $message<br><br>" : ''; $referrer = $_SERVER['HTTP_REFERER'] ? '<br><br><br>Ta wiadomość została wysłana z: ' . $_SERVER['HTTP_REFERER'] : ''; $body = "$name $email $phone $message $referrer"; // Runs only when File Field is present in the Contact Form if ( isset( $_FILES['template-contactform-file'] ) && $_FILES['template-contactform-file']['error'] == UPLOAD_ERR_OK ) { $mail->IsHTML(true); $mail->AddAttachment( $_FILES['template-contactform-file']['tmp_name'], $_FILES['template-contactform-file']['name'] ); } // Runs only when reCaptcha is present in the Contact Form if( isset( $_POST['g-recaptcha-response'] ) ) { $recaptcha_response = $_POST['g-recaptcha-response']; $response = file_get_contents( "https://www.google.com/recaptcha/api/siteverify?secret=" . $recaptcha_secret . "&response=" . $recaptcha_response ); $g_response = json_decode( $response ); if ( $g_response->success !== true ) { echo '{ "alert": "error", "message": "Captcha nie zatwierdzona! Proszę spróbować jeszcze raz." }'; die; } } $mail->MsgHTML( $body ); $sendEmail = $mail->Send(); if( $sendEmail == true ): echo '{ "alert": "success", "message": "' . $message_success . '" }'; else: echo '{ "alert": "error", "message": "<strong>NIE DALIŚMY RADY</strong> wysłać wiadomości przez niespodziewany błąd. Spróbuj ponownie później.<br /><br /><strong>POWÓD:</strong><br />' . $mail->ErrorInfo . '" }'; endif; } else { echo '{ "alert": "error", "message": "Bot <strong>Detected</strong>.! Clean yourself Botster.!" }'; } } else { echo '{ "alert": "error", "message": "Proszę <strong>wypełnij</strong> wszystkie pola i spróbuj ponownie." }'; }} else { echo '{ "alert": "error", "message": "Wystąpił<strong>Niespodziewany błąd</strong>. Proszę spróbuj ponownie." }';}?>
Nie mając wglądu w strukturę jaką przyjmuje $mail i jej funkcje, zmieniłbym tylko tą linię: PHP: $mail->SetFrom( $email , $name ); na PHP: $mail->SetFrom( "adres_email_na_serwerze_w_home" , "wlasna nazwa" ); Oczywiście z własnymi danymi (adres skrzynki założonej na serwerze i jakaś dowolna nazwa).
@Arek Biegaj spróbuj proszę wykonać taką zmianę w kodzie jaką opublikował powyżej użytkownik @casar Przykładowo: Code: $mail->SetFrom( "mail@twojadomena.pl" , "dowolna nazwa" ); , gdzie mail@twojadomena.pl musi być skrzynką e-mail, która znajduje się na tym samym serwerze co Twoja strona WWW (a dokładniej skrypt formularza kontaktowego). Daj proszę znać tu na forum czy pomogło.
Dzięki wielkie Panowie za szybką odpowiedź. Teraz działa jak należy Powiem szczerze, że dawno nie dostałem tak szybko odpowiedzi - chyba zacznę regularnie korzystać z home.pl pozostało jeszcze powalczyć z wyświetlaniem polskich znaków bo znowu krzaki się pojawiają
No i ze znakami poszło Tym razem wystarczyło zmienić public $CharSet = 'utf-8'; w class.phpmailer. Jeszcze raz dziękuję i pozdrawiam
Tak, sprawa w toku. Pisałem, zanim zaczęło się dziać. Mimo wszystko jestem ciekaw, gdzie znaleźć ten fragment Dzięki.
Tak, potwierdzam. Odpisałem w tym temacie - podałem plik, w którym wymagana byłaby modyfikacja, zaproponowałem również dwie modyfikacje. Jeśli pierwsza nie pomoże, to druga już powinna. @gregre daj proszę znać w tym drugim temacie czy zaproponowane modyfikacje pomogły.