Mailversand über mail() klappt nicht.

Moritz123

Erfahrenes Mitglied
Hallo.
ich möchte über mail() eine Email an mehrere Empfänger senden.
Dazu nutze ich folgende Syntax:
bookconfig.inc.php:
PHP:
$freischaltmails = "meine@adresse1.de,meine@adresse2.de";	// Wer erhält eine Freischaltemail?
																		// EmailAdressen mit Komma trennen:
																		// email1,email2,email3,etc
$betreff = "Neuer Gaestebucheintrag";									// Betreff fuer Mail
$absender = "IGS-Gaestebuch-Mailer<homepage-ag@igs-kastellaun.de>";		// Mail-Absender
$postdatum = date("d.m.Y - H:i",$postdatum);						// formatiertes Datum des Eintrags
$sendetext = "Neuer Eintrag im Gaestebuch!
=====================================================================================================
Folgender Eintrag wurde im Gaestebuch hinzugefuegt:
$postdatum
$posttext

Dieser wartet nun auf Freischaltung.
Post freischalten 
-> http://www.igs-kastellaun.de/bookadmin.php?pass=$pass_md5&step=4&id=$id
=====================================================================================================
ENDE";																	// Text, der übertragen wird.

book.php:
PHP:
// Freischaltmail verschicken
					// Leerzeichen löschen
					$freischaltmails = str_replace(" ","",$freischaltmails);
					// in Array umwandeln
					$mailarray = explode(",",$freischaltmails);
					// id des letzten Eintrags aus der Datenbank holen
					$abfrage2 = "SELECT DISTINCT id FROM gbook WHERE datum = '$_POST[datum]'";
	  				$ausgabe2 = mysql_query($abfrage2);
	  				$num2 = mysql_num_rows($ausgabe2);
	  				if ($num2 > 0) {
					while ($row = mysql_fetch_object($ausgabe2)) {
						$id = $row->id; 
					}}
					// Emails verschicken
					foreach($mailarray as $mailempfaenger)
					{
						mail($mailempfaenger,$betreff,$sendetext,"From: ".$absender);
					}

Allerdings erhalte ich lediglich an eine der beiden Emailadressen eine Email.
Diese Mail ist leer und hat als Absender "Nobody".
Ich weiß absolut nichts mehr weiter, zudem ich dem Code zum Zerlegen in ein Array bzw. Versenden bereits in einem anderen Script eingesetzt habe, uznd es da einwandfrei funktioniert hat... :(

Vielen Dank!
 
Du musst die mailliste doch eigentlich überhaupt nicht in ein Array aufsplitten:
Multiple recipients can be specified by putting a comma between each address in to .

Das mit dem Falschen absender und den lehren mails könnte daran liegen, dass du keine Zeilenumbrüche (\r\n) am ende einfügst. Folge am besten genau den Beispielen auf http://de2.php.net/manual/en/function.mail.php dannn klappt es irgendwann. Hat bei mir auch ewig gedauert bis die mails so aussahen wie ich es wollte...

tob
 
Guck mal auch nach den Mail Headern

MIME-Version: 1.0\n
Content-type: text/plain; charset=iso-8859-1\n
X-Priority: 1\n
X-Mailer: php\n
From: \"Name\" <Email>\n

ist ganz gut...
 
hm ich hab auch ein Problem mit Mail Versand, die Funktion liefert immer die Fehlermeldung "Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay for atomic@a-w-s.org" atomic@a-w-s.org ist halt die Email die ich weitergebe.
Kann mir wer sagen was ich falsch mache?

PHP:
mail($email, "Registration @ orcus.com",$message,"From: register@orcus.com");
 
Auf jeden Fall solltest Du beachten,dass die mail()-Funktion nicht bei jedem Provider funktioniert.
Wenn Du dir also absolut sicher bist, dass deine Syntax richtig ist, setz dich mit deinem ISP in verbindung und frag, ob er mail() aktiviert hat.
 
Zurück