[Rozwiązany] Funkcja Mail w PHP-Fusion v. 7.02.04

Problemy związane ze stronami PHP

[Rozwiązany] Funkcja Mail w PHP-Fusion v. 7.02.04

Postprzez tomek0o7 » N sty 08, 12 09:28

Otóż, mam problem jak kilka osób chodzi o wysyłanie maila kontaktowego ze strony. Niestety u mnie nie dziala, a mam adres wewnętrzny. Już tak siedze siedze i nie wiem co moze byc przyczyna...

Jeszcze zauważyłem jeden problem po dodaniu serwera smtp mail.ugu.pl wyskakuje błąd nie można się połączyć z serwerem smtp

Komunikat wyskakujący na stronie.
Kod: Zaznacz cały
Nie można wywołać funkcji mail(). Sprawdź konfigurację serwera.


Wiadomość nie została wysłana, ponieważ:

Błąd wewnętrzny! Nie można wysłać wiadomości.

Spróbuj wysłać jeszcze raz.


Kod: Zaznacz cały
if (isset($_POST['sendmessage'])) {
   $error = "";
   $mailname = substr(stripinput(trim($_POST['mailname'])), 0, 50);
   $email = substr(stripinput(trim($_POST['email'])), 0, 100);
   $subject = substr(str_replace(array("\r","\n","@"), "", descript(stripslash(trim($_POST['subject'])))), 0, 50);
   $message = descript(stripslash(trim($_POST['message'])));
   if ($mailname == "") {
      $error .= " <span class='alt'>".$locale['420']."</span><br />\n";
   }
   if ($email == "" || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
      $error .= " <span class='alt'>".$locale['421']."</span><br />\n";
   }
   if ($subject == "") {
      $error .= " <span class='alt'>".$locale['422']."</span><br />\n";
   }
   if ($message == "") {
      $error .= " <span class='alt'>".$locale['423']."</span><br />\n";
   }
   $_CAPTCHA_IS_VALID = false;
   include INCLUDES."captchas/".$settings['captcha']."/captcha_check.php";
   if ($_CAPTCHA_IS_VALID == false) {
      $error .= " <span class='alt'>".$locale['424']."</span><br />\n";
   }
   if (!$error) {
      require_once INCLUDES."sendmail_include.php";
      if (!sendemail($settings['siteusername'],$settings['siteemail'],$mailname,$email,$subject,$message)) {
         $error .= " <span class='alt'>".$locale['425']."</span><br />\n";
      }
   }
   if ($error) {
      opentable($locale['400']);
      echo "<div style='text-align:center'><br />\n".$locale['442']."<br /><br />\n".$error."<br />\n".$locale['443']."</div><br />\n";
      closetable();
   } else {
      opentable($locale['400']);
      echo "<div style='text-align:center'><br />\n".$locale['440']."<br /><br />\n".$locale['441']."</div><br />\n";
      closetable();
   }
} else {
   opentable($locale['400']);
   echo $locale['401']."<br /><br />\n";
   echo "<form name='userform' method='post' action='".FUSION_SELF."'>\n";
   echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
   echo "<td width='100' class='tbl'>".$locale['402']."</td>\n";
   echo "<td class='tbl'><input type='text' name='mailname' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
   echo "</tr>\n<tr>\n";
   echo "<td width='100' class='tbl'>".$locale['403']."</td>\n";
   echo "<td class='tbl'><input type='text' name='email' maxlength='100' class='textbox' style='width: 200px;' /></td>\n";
   echo "</tr>\n<tr>\n";
   echo "<td width='100' class='tbl'>".$locale['404']."</td>\n";
   echo "<td class='tbl'><input type='text' name='subject' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
   echo "</tr>\n<tr>\n";
   echo "<td width='100' class='tbl'>".$locale['405']."</td>\n";
   echo "<td class='tbl'><textarea name='message' rows='10' class='textbox' cols='50'></textarea></td>\n";
   echo "</tr>\n<tr>\n";
   echo "<td width='100' class='tbl'>".$locale['407']."</td>\n";
   echo "<td class='tbl'>";
   include INCLUDES."captchas/".$settings['captcha']."/captcha_display.php";
   if (!isset($_CAPTCHA_HIDE_INPUT) || (isset($_CAPTCHA_HIDE_INPUT) && !$_CAPTCHA_HIDE_INPUT)) {
      echo "</td>\n</tr>\n<tr>";
      echo "<td class='tbl'><label for='captcha_code'>".$locale['408']."</label></td>\n";
      echo "<td class='tbl'>";
      echo "<input type='text' id='captcha_code' name='captcha_code' class='textbox' autocomplete='off' style='width:100px' />";
Ostatnio edytowano Wt sty 24, 12 11:10 przez tomek0o7, łącznie edytowano 3 razy
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez parox » Pn sty 09, 12 04:09

Musiałbyś podać także kod źródłowy pliku "sendmail_include.php" gdziekolwiek się on znajduje. Zaraz po jego wywołaniu, występuje funkcja: "sendemail", w której prawdopodobnie leży problem.

Może zamiast zaśmiecać forum, kodem źródłowym, podaj nam nazwę skryptu którego używasz. Może być nieco łatwiej.

Powiedz także, czy użyłeś wałkowanych już kilkukrotnie ustawień, dla SMTP? Bez nich niestety ani rusz.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Pn sty 09, 12 09:07

Otóż korzystam z PHP-Fusion i tam juz jest niby wbudowane wysyłanie mail. Ale druga sprawa jeste poczatkujacym jesli chodzi o PHP wiec stad moze te glupie pytania i problemy...

Kod: Zaznacz cały
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: sendmail_include.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

function sendemail($toname, $toemail, $fromname, $fromemail, $subject, $message, $type = "plain", $cc = "", $bcc = "") {

   global $settings, $locale;
   
   require_once INCLUDES."class.phpmailer.php";
   
   $mail = new PHPMailer();
   if (file_exists(INCLUDES."language/phpmailer.lang-".$locale['phpmailer'].".php")) {
      $mail->SetLanguage($locale['phpmailer'], INCLUDES."language/");
   } else {
      $mail->SetLanguage("en", INCLUDES."language/");
   }

   if (!$settings['smtp_host']) {
      $mail->IsMAIL();
   } else {
      $mail->IsSMTP();
      $mail->Host = $settings['smtp_host'];
      $mail->Port = $settings['smtp_port'];
      $mail->SMTPAuth = (!empty($settings['smtp_username']) && !empty($settings['smtp_password'])) ? true : false;
      $mail->Username = $settings['smtp_username'];
      $mail->Password = $settings['smtp_password'];
   }
   
   $mail->CharSet = $locale['charset'];
   $mail->From = $fromemail;
   $mail->FromName = $fromname;
   $mail->AddAddress($toemail, $toname);
   $mail->AddReplyTo($fromemail, $fromname);
   if ($cc) {
      $cc = explode(", ", $cc);
      foreach ($cc as $ccaddress) {
         $mail->AddCC($ccaddress);
      }
   }
   if ($bcc) {
      $bcc = explode(", ", $bcc);
      foreach ($bcc as $bccaddress) {
         $mail->AddBCC($bccaddress);
      }
   }
   if ($type == "plain") {
      $mail->IsHTML(false);
   } else {
      $mail->IsHTML(true);
   }
   
   $mail->Subject = $subject;
   $mail->Body = $message;
   
   if(!$mail->Send()) {
      $mail->ErrorInfo;
      $mail->ClearAllRecipients();
      $mail->ClearReplyTos();
      return false;
   } else {
      $mail->ClearAllRecipients();
      $mail->ClearReplyTos();
      return true;
   }

}
?>
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez parox » Pn sty 09, 12 11:34

Co prawda nie testowałem tego, ale zapewne to pomoże.

Przejdź do panelu administracyjnego w Fusion, Ustawienia > Różne ( http://twojastrona.pl/administration/settings_misc.php )

Wypełnij poszczególne pola, wedle tych z panelu UGU. ( https://www.ugu.pl/panel/email )

Kod: Zaznacz cały
Adres serwera SMTP
Pozostaw puste, jeśli wysyłanie e-maili jest włączone.   
Port SMTP   
Użytkownik SMTP   
Hasło SMTP


Powodzenia :)
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Śr sty 11, 12 22:41

Nadal nie działa... juz mi brakuje pomysłów i sił co może z tym być... Od poczatku probowałem przez te ustawienia co sa w php :?
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez wargo » So sty 14, 12 18:40

Może bez smtp? Tylko jako adres nadawcy daj adres e-mail z ugu.pl
wargo
 
Posty: 1353
Dołączył(a): Cz lip 05, 07 16:59
Lokalizacja: Pleszew

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Śr sty 18, 12 14:16

Obrazek

Jeśli zostawiam to też nie działa. Wtedy jest nie mozna wywołać fukcji mail a jesli wpisze dane SMTP to wyskakuje Błąd SMTP: Nie można połączyć się z wybranym hostem. i jak bylem w czrnej d*** tak nadal jestem...
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez wargo » Śr sty 18, 12 17:57

A wyżej jakie masz opcje?
wargo
 
Posty: 1353
Dołączył(a): Cz lip 05, 07 16:59
Lokalizacja: Pleszew

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Śr sty 18, 12 19:28

Kod: Zaznacz cały
Korzystać z edytora TinyMCE?
Dotyczy artykułów i newsów.


tylko to mam wyżej to co odnosi się do wysylania maila przez strone to podałem. Ale najśmieszniejsze jest to, że jeśli chodzi o maila dotyczące aktywacji konta, przypomnienia hasła to dochodza normalnie :(
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Pt sty 20, 12 14:08

Nadal się nie daję postawiłem nowego PHP-Fusion ale starszą wersję i też są problemy ale juz inne.
Kod: Zaznacz cały
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.ugu.pl:587 (Connection timed out) in /virtual/s/a/satinstall.ugu.pl/includes/class.smtp.php on line 122


A tu jest linia z smtp.class
Kod: Zaznacz cały
  118   $this->smtp_conn = fsockopen($host,    # the host of the server
           119                      $port,    # the port to use
           120                     $errno,   # error number if any
           121                      $errstr,  # error message if any
           122                      $tval);   # give up after ? secs


A jeśli pole "adres SMTP" zostawiam puste to teraz wywala to
Kod: Zaznacz cały
Wiadomość nie została wysłana, ponieważ:

ˇ Błąd wewnętrzny! Nie można wysłać wiadomości.

Spróbuj wysłać jeszcze raz.
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20

Re: Funkcja Mail - czyli stały problem...

Postprzez tomek0o7 » Wt sty 24, 12 11:01

Problem rozwiązany dotyczący v7.02.04. :) Sprawa jest dość banalna bo z tego jak wnioskuje to gdzies jest bład w pliku contact.php Rozwiązaniem tego problemu jest pobranie moda do PHP-Fusion i wrzucenie pliku contact.php w HTML5. U mnie to rozwiązało sprawe całkowicie.

Link do pliku contact.php w html5
http://mods.php-fusion.pl/downloads.php?cat_id=22&download_id=1433
tomek0o7
 
Posty: 11
Dołączył(a): N sty 08, 12 09:20


Powrót do PHP

Copyright © 2007-2011 ugu.pl
Wszelkie prawa zastrzeżone.
Polityka prywatności