Funkcja mail() nie działa...

Problemy związane ze stronami PHP

Funkcja mail() nie działa...

Postprzez chrismovie » Śr maja 02, 12 17:01

Witam, mam oto taki kod
Kod: Zaznacz cały

<?php
  
// utworzenie krótkich nazw zmiennych
  
$nazwa=$_POST['name'];
  
$email=$_POST['mail'];
  
$komentarz=$_POST['msg'];

  
$adresdo 'poczta@krzysiekplonka.ugu.pl';
  
$temat 'Komentarz ze strony WWW';
  
$zawartosc 'Nazwa klienta: '.$nazwa."\n"
               
.'Adres pocztowy: '.$email."\n"
               
."Komentarz klienta: \n".$komentarz."\n";
  
//$adresod = 'serwerwww@przyklad.com';

  
mail($adresdo$temat$zawartosc$email);
  if(
$mail) {print "Twój listy wysłany pomyślnie";}
 else {print 
"Błąd w  wysłaniu e-maila"; } 
 
?>

Dlaczego wyskakuje Błąd w wysłaniu e-maila?
Avatar użytkownika
chrismovie
 
Posty: 14
Dołączył(a): Pn lis 21, 11 19:16

Re: Funkcja mail() nie działa...

Postprzez parox » Cz maja 03, 12 01:49

Musisz użyć funkcji mail() ustawiając Twój mail założony w UGU jako nadawcę. Cytując:

Funkcja mail() wymaga aby nadawcą był adres email założony u nas, powodem tego ograniczenia jest stosowanie przez serwery pocztowe filtrów SPF

Jeśli chcesz wysyłać wiadomości przy pomocy tej funkcji to pamiętaj dodać konto email i ustawić jego adres jako nadawcę.


Tak więc bodajże zmienna $email musi być adres@strona.ugu.pl.

Jeśli bardziej Ci zależy właśnie na tym, coby można było odpowiedzieć na ów. e-mail "on demand", wystarczy że użyjesz headers.

Przykładowo:

Kod: Zaznacz cały
$to = 'poczta@krzysiekplonka.ugu.pl'; // Na jaki adres wysłać
$subject = 'Komentarz ze strony WWW'; // Temat
$message = 'Nazwa klienta: '.$nazwa."\n" 
               
.'Adres pocztowy: '.$email."\n"
               ."Komentarz klienta: \n".$komentarz."\n"; // Treść wiadomości
$headers = 'From: poczta@krzysiekplonka.ugu.pl' . "\r\n" . // Twój adres z ugu.
    'Reply-To: ' . $email . "\r\n" . // Na jaki adres odpowiedzieć
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers); 


Przykład wzięty z dokumentacji php, jedynie komentarze powstawiane oraz zmienne ustawione.

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

Re: Funkcja mail() nie działa...

Postprzez chrismovie » Pt maja 04, 12 15:28

Niestety zmiana nie przyniosła rezultatu :(
Avatar użytkownika
chrismovie
 
Posty: 14
Dołączył(a): Pn lis 21, 11 19:16

Re: Funkcja mail() nie działa...

Postprzez wargo » Pt maja 04, 12 15:41

A założyłeś mail w panelu?
wargo
 
Posty: 1353
Dołączył(a): Cz lip 05, 07 16:59
Lokalizacja: Pleszew

Re: Funkcja mail() nie działa...

Postprzez chrismovie » Pt maja 04, 12 17:57

Tak mam konto poczty
Avatar użytkownika
chrismovie
 
Posty: 14
Dołączył(a): Pn lis 21, 11 19:16

Re: Funkcja mail() nie działa...

Postprzez parox » So maja 05, 12 00:41

Mógłbym polecić użycie klasy która jest dostępna za darmo. phpMailer - Może akurat na Twoje potrzeby.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Funkcja mail() nie działa...

Postprzez funkie » So maja 26, 12 23:59

Witam,
Wiem że temat był wałkowany wiele razy ale mam prośbę
czy mógłby ktoś poprawić ten skrypt tak aby można było wysłać poprzez formularz wiadomość na konto ugu?
Konto webmail założone ale niestety w tym formularzu jak nie wpiszę konta z xxx@xxx.ugu.pl w polu nadawcy to wiadomość nigdy nie dojdzie.
Kod: Zaznacz cały
 <?php
          // This PHP Contact Form is offered &quot;as is&quot; without warranty of any kind, either expressed or implied.
          // David Carter at www.css3templates.co.uk shall not be liable for any loss or damage arising from, or in any way
          // connected with, your use of, or inability to use, the website templates (even where David Carter has been advised
          // of the possibility of such loss or damage). This includes, without limitation, any damage for loss of profits,
          // loss of information, or any other monetary loss.

          // Set-up these 3 parameters
          // 1. Enter the email address you would like the enquiry sent to
          // 2. Enter the subject of the email you will receive, when someone contacts you
          // 3. Enter the text that you would like the user to see once they submit the contact form
          $to = 'mojekonto@nazwa.ugu.com';
          $subject = 'Wiadomość przesłana ze strony mojekonto';
          $contact_submitted = 'Twoja wiadomość została wysłana, dziękujemy.';

          // Do not amend anything below here, unless you know PHP
          function email_is_valid($email) {
            return preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i',$email);
          }
          if (!email_is_valid($to)) {
            echo '<p style="color: red;">You must set-up a valid (to) email address before this contact page will work.</p>';
          }
          if (isset($_POST['contact_submitted'])) {
            $return = "\r";
            $youremail = trim(htmlspecialchars($_POST['your_email']));
            $yourname = stripslashes(strip_tags($_POST['your_name']));
            $yourmessage = stripslashes(strip_tags($_POST['your_message']));
            $contact_name = "Name: ".$yourname;
            $message_text = "Message: ".$yourmessage;
            $user_answer = trim(htmlspecialchars($_POST['user_answer']));
            $answer = trim(htmlspecialchars($_POST['answer']));
            $message = $contact_name . $return . $message_text;
            $headers = "From: ".$youremail;
            if (email_is_valid($youremail) && !eregi("\r",$youremail) && !eregi("\n",$youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {
              mail($to,$subject,$message,$headers);
              $yourname = '';
              $youremail = '';
              $yourmessage = '';
              echo '<p style="color: blue;">'.$contact_submitted.'</p>';
            }
            else echo '<p style="color: red;">Please enter your name, a valid email address, your message and the answer to the simple maths question before sending your message.</p>';
          }
          $number_1 = rand(1, 9);
          $number_2 = rand(1, 9);
          $answer = substr(md5($number_1+$number_2),5,10);
        ?>
        <form id="contact" action="contact.php" method="post">
          <div class="form_settings">
            <p><span>Imię i nazwisko</span><input class="contact" type="text" name="your_name" value="<?php echo $yourname; ?>" /></p>
            <p><span>Twój E-mail</span><input class="contact" type="text" name="your_email" value="<?php echo $youremail; ?>" /></p>
            <p><span>Wiadomość</span><textarea class="contact textarea" rows="5" cols="50" name="your_message"><?php echo $yourmessage; ?></textarea></p>
            <p style="line-height: 1.7em;">Podaj odpowiedź na pytanie:</p>
            <p><span><?php echo $number_1; ?> + <?php echo $number_2; ?> = ?</span><input type="text" name="user_answer" /><input type="hidden" name="answer" value="<?php echo $answer; ?>" /></p>
            <p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="Wyślij" /></p>
funkie
 
Posty: 1
Dołączył(a): So maja 26, 12 23:51

Re: Funkcja mail() nie działa...

Postprzez wargo » So cze 02, 12 17:49

Kod: Zaznacz cały
$to = 'mojekonto@nazwa.ugu.com';
zmień na
Kod: Zaznacz cały
$to = 'mojekonto@nazwa.ugu.pl';
wargo
 
Posty: 1353
Dołączył(a): Cz lip 05, 07 16:59
Lokalizacja: Pleszew


Powrót do PHP

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

cron