Strona 1 z 1

Funkcja mail() nie działa...

PostNapisane: Śr maja 02, 12 17:01
przez chrismovie
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?

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

PostNapisane: Cz maja 03, 12 01:49
przez parox
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.

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

PostNapisane: Pt maja 04, 12 15:28
przez chrismovie
Niestety zmiana nie przyniosła rezultatu :(

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

PostNapisane: Pt maja 04, 12 15:41
przez wargo
A założyłeś mail w panelu?

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

PostNapisane: Pt maja 04, 12 17:57
przez chrismovie
Tak mam konto poczty

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

PostNapisane: So maja 05, 12 00:41
przez parox
Mógłbym polecić użycie klasy która jest dostępna za darmo. phpMailer - Może akurat na Twoje potrzeby.

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

PostNapisane: So maja 26, 12 23:59
przez funkie
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>

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

PostNapisane: So cze 02, 12 17:49
przez wargo
Kod: Zaznacz cały
$to = 'mojekonto@nazwa.ugu.com';
zmień na
Kod: Zaznacz cały
$to = 'mojekonto@nazwa.ugu.pl';