Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Michał Piotr

Działający kod na wysyłanie maili w PHP

Promowane odpowiedzi

Od dwóch godzin borykam się z problemem niedziałających skryptów na wysyłanie maili w php..

Jeśli jednak jakiś skrypt zadziałał to po wysłaniu pierwszego, testowego maila następne już nie dochodziły.

 

Rozpaczliwie proszę o DZIAŁAJĄCY skrypt jeśli ktokolwiek go posiada :'(

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
adam2350    11
<h2>Zapraszamy do kontaktu</h2>
<form method="post" action="index.php">
    <label>Nick (lub imię i nazwisko):</label> <input type="text" name="nick"/><br><br>
    <label>E-Mail:</label> <input type="email" name="adres"/><br><br>
    <label>Treśc:</label> <textarea  id="opis"
name="wiad" rows="5" ></textarea>
<input type="submit" value="Wyślij" name="send"/><br><br>
</form>
<?php
	$nick = $_POST['nick'];
	$adres = $_POST['adres'];
	$wiad = $_POST['wiad'];
	$adresod = "   ";
	$adresdo = "   ";
	$temat = "Forularz kontakowy.";
	$tresc = "Nick: ".$nick."\n<br>"
			 ."Adres E-mail: ".$adres."\n<br>"
			 ."Tresc: ".$wiad."\n<br>"
	$tresc2 = "Nick: ".$nick."\n<br>"
			 ."Adres E-mail: ".$adres."\n<br>"
			 ."Tresc: ".$wiad."\n<br>"
			 ."<b>Wiadomość jest potwierdzeniem wysłania wiadomości do obsługi serwisu </b><br>Odpowiedź zostanie udzielona do 24h.<b><font color='red'>Wiadomość jest wysyłana automatycznie prosimy na nią nie odpowiadać!<b></font>";
		$headers = 'MIME-Version: 1.0' . " \r\n";
      $headers .= 'Content-type: text/html; charset=UTF-8' . " \r\n";
      $headers .= "From: Coś <$adresod>".PHP_EOL."Reply-To: $adres";
/*	if ($_SERVER['REQUEST_METHOD'] == 'POST'){
	mail($adresdo, $temat, $tresc, $headers, $adresod);
	if(mail($adres, $temat, $tresc2, $headers)){
	echo "<div class='green'>Widomośc wysłano</div>";
	} else{
		echo "<div class='red'>Wiadomość nie została wysłana. Nieznany błąd.</div>";
	}
	}
*/	
	if (isset($_POST['send'])) {
        if (empty($nick) || strlen($nick)<=2) { 
                echo "<div class='red'>Proszę podać Nick, musi on zawierać przynajmiej dwa znaki<br /></div>";
}elseif (!ereg("^[a-zA-Z0-9.-_]+@[a-zA-Z0-9.-_]+.[a-z]{2,4}$", $_POST["adres"])) {
                echo "<div class='red'>Wprowadzony e-mail jest za krótki, lub nieprawny, musi zawierać znak @.<br /></div>";
}elseif (empty($wiad) || strlen($wiad)<=5) {
                echo "<div class='red'>Nie ma treści wiadomosci lub jest ona za krutka<br /></div>";
}else {
mail($adresdo, $temat, $tresc, $headers, $adresod);
	if(mail($adres, $temat, $tresc2, $headers)){
	echo "<div class='green'>Widomośc wysłano</div>";
} else{
			echo "<div class='red'>Wiadomość nie została wysłana. Nieznany błąd.</div>";
}
}
}
?>

Proszę :) Powinien działać (u mnie działa).

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
naXe    237
<?php
if(strtoupper($_SERVER['REQUEST_METHOD']) !== 'POST')
{
  $receiverEmail = 'EMAIL ODBIORCY';
  $receiverName = 'NICK ODBIORCY';
  $senderName = htmlspecialchars($_POST['nickName']);
  $subjectPreferences = [
    'input-charset'		=> 'utf-8',
    'output-charset'	=> 'utf-8',
    'line-length'		=> 76,
    'line-break-chars'	=> "\r\n"
  ];
  $header = "MIME-Version: 1.0\r\n";
  $header .= "Content-Type: text/html; charset=UTF-8\n";
  $header .= "From: {$senderName} < {$_POST['emailAddress']} >\n";
  $header .= "To: $receiverName < $receiverEmail >\n";
  $header .= "X-Sender: {$senderName} < {$_POST['emailAddress']} >\n";
  $header .= 'X-Mailer: PHP/'.phpversion();
  $header .= "X-Priority: 1 (Highest)\n";
  $header .= "X-MSMail-Priority: High\n";
  $header .= "Importance: High\n";
  $header .= "MIME-Version: 1.0 \r\n";
  $header .= "Content-Transfer-Encoding: 8bit \r\n";
  $header .= "Date: ".date("r (T)")." \r\n";
  $header .= iconv_mime_encode("Subject", $_POST['emailSubject'], $subjectPreferences);
  $header .= "Return-Path: $receiverEmail\n";
  if(!mail($receiverEmail, "Wiadomość od {$senderName}: {$_POST['emailSubject']}", $_POST['messageContent'], $header))
  {
    exit('Nie udało się wysłać wiadomości');
  }
  else
  {
    exit('Wiadomość została pomyślnie wysłana');
  }
}
else
{
?>
<form method='post' accept-charset='utf-8'>
  <label>Twój nick:</label>
  <input type='text' name='nickName' size='64' maxlength='64' placeholder='Twój nick' title='Podaj swój nick' required>
  <label>Temat:</label>
  <input type='text' name='emailSubject' size='64' maxlength='64' placeholder='Temat wiadomości' title='Podaj temat wiadomości' required>
  <label>E-Mail:</label>
  <input type='email' name='emailAddress' size='64' maxlength='64' placeholder='twoj@email.pl' title='Podaj swój adres e-mail' required>
  <label>Twoja wiadomość</label>
  <textarea name='messageContent' rows='15' cols='40' required></textarea>
  <input type='submit' value='Wyślij wiadomość'>
</form>
<?php
}

 

  • Super 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.


×