E-Mail-Versand funktioniert nur in einer Webseite

Liebes Forum

Ich benutze folgendes php-Script, damit mir Besucher eine E-Mail schicken können. Auf einer meiner Webseiten funktionert das Script problemlos, auf einer anderen nicht. Habt ihr eine Ahnung, woran das liegen könnte?

Der Abschnitt im html, um das Formular abzuschicken, schaut bei beiden Webseiten gleich aus:

		<!-- starts footer -->
		<footer id="footer">
			<div class="container">
				<div class="col-md-12 contact">
					<h3 class="footer_header"> Kontakt </h3>
					<form action="contact-form-handler.php" method="post">
						<input type="text" name="name" placeholder="Ihr Name" />
						<input type="text" name="email" placeholder="Ihre E-Mail-Adresse" />
						<textarea rows="3" name="message" placeholder="Ihre Frage"></textarea>
						<input type="submit" value="Senden" />
					</form>
					<br>
				</div>
			</div>
		</footer>

Das PHP-Script:

<?php 
$errors = '';
$myemail = 'meineEmailAdresse@gmail.com';

$name = $_POST['name']; 
$email_address = $_POST['email']; 
$message = $_POST['message']; 

if( empty($errors) and !empty($message))
{
	$to = $myemail; 
	$email_subject = "Email von: $name";
	$email_body = "Received Message:".
	"Name: $name \n Email: $email_address \n Message \n $message"; 
	
	$headers = "From: $myemail\n"; 
	$headers .= "Reply-To: $email_address";
	
	mail($to,$email_subject,$email_body,$headers);
	//redirect to the 'thank you' page
	header('Location: index.html#footer');
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
	<title>Contact form handler</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>

Wie gesagt, auf einer Webseite funktioniert es, auf einer anderen nicht. Ich habe beide Webseiten bei bplaced liegen, allerdings die Domain bei jeweils einem anderen Anbieter registriert.

Für eure Hilfe bin ich euch sehr dankbar! :slight_smile:

Hi rbreu,

damit man dir helfen kann, werden mehr Informationen benötigt.
Werden irgendwelche Fehlermeldungen ausgegeben, wenn du alle PHP-Errors zulässt?

Wie sind die Domains jeweils aufgeschaltet, Weiterleitung, iFrame, DNS,…?

Generell gilt bei bplaced, das nur eine bestimmte anzahl von Mails pro Tag, pro Account verschickt werden dürfen (ich glaube 100Stk, bei keinem Premium Paket).

Zu deinem Code:
Eigentlich stimmt alles mit diesem Code. Dort ist eigentlich kein Fehler zu finden.
Bitte füge nach der “header(‘Location: index.html#footer’);” Zeile noch ein “exit;” hinzu, damit der header zu 100% arbeiten kann.

PS: generell solltest du darauf achten, ALLEN Benutzereingaben, welche nicht von dir gemacht werden zu misstrauen. Heißt: Kontrolliere deine “$_POST”-Requests, ob dort ein “inject” hinterlegt ist, welchen du in deinem Mail Programm über die empfangene E-Mail öffnest (wenn dein Mail Programm falsch eingestellt ist, wird das Script vllt. sofort geöffnet). Eine ganz banale Prüfen wäre z.B. (mit PHP: strip_tags(string str, [string allowable_tags]) )