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
<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
<?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
}

 

  • Lubię to! 1
  • 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.

Utwórz konto

Utwórz konto. To darmowe i bardzo proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się teraz


×