Newsletter Tool basierend auf Textdatei, zu dumm

supersalzi

Erfahrenes Mitglied
Hey,

ich glaube ich bin mal wieder ganz auf dem Holzweg...

Ich möchte ein Newsletter tool schreiben, welches einfach den Text eines Forumlare her nimmt, und dann eine Email an jede Adresse sendet, die in der Text Datei steht. Die mails sollen an jede Adresse einzeln versendet werden.
Irgendwie bekomme ich es gar nicht hin.

kennt jemand einen "guten weg" dafür?

vielen Dank,
Salzi

PHP:
<?php

$nr = $_POST["number"];
$text = $_POST["mailtext"];

if( !empty($nr) && !empty($text) ){

$many = 0;
$datei = fopen("newsletter/addresses.txt","r");
$zeile = true;
	while ($zeile) {
	    $zeile = fgets($datei, 100);
	    
	
	
		$to = $zeile;
	
		$from = "salzinet.com <newsletter@salzinet.com>\n";
	
		$reply = "kontakt@salzinet.com\n";
	
		$subject = "Newsletter ".$nr;
	
		$message = "$text ";
	
		//zusätzliche Header 
		$headers = "To: $to\r\n"."From: $from\r\n";
		
	
		mail($to, $subject, $message, $headers);
		
		$many ++;
		
		
	}
fclose($datei);
}

?>
<h2>Newsletter</h2>



<form action="index.php?a=2" method="post">
<fieldset>
<p>Nummer:</p>
<input type="text" size="2" name="number" value="<?php echo $nr; ?>" />
<p>Text:</p>
<textarea rows="20" cols="60" name="mailtext" ><?php echo $text; ?></textarea>
<br/>
<input class="submit" type="submit" value="Senden" />
<input class="submit" type="reset" value="Reset" />
</fieldset>
</form>
 
Probier mal Folgendes:
PHP:
<?php 

	if( !empty($_POST['nummer']) && !empty($_POST['mailtext']) ) {

		$count = 0;
		$datei = fopen('./newsletter/addresses.txt', 'r');
		while( $to = fgets($datei, 256) && $count++ ) {
			$headerfields = array(
				'From'  => 'salzinet.com <newsletter@salzinet.com>',
				'Reply' => 'kontakt@salzinet.com'
			);
			$subject = 'Newsletter '.$_POST['nummer'];
			$message = $_POST['mailtext'];
			// zusätzliche Header
			$additionalHeader = '';
			foreach( $headerFields as $fieldName => $fieldValue ) {
				$additionalHeader .= $fieldName.': '.$fieldValue . "\r\n";
			}
			mail($to, $subject, $message, $additionalHeaders);
		}
		fclose($datei);

	}

?> 
<h2>Newsletter</h2> 
<form action="index.php?a=2" method="post"> 
<fieldset> 
<p>Nummer:</p> 
<input type="text" size="2" name="number" value="<?php echo $_POST['nummer']; ?>" /> 
<p>Text:</p> 
<textarea rows="20" cols="60" name="mailtext"><?php echo $_POST['mailtext']; ?></textarea> 
<br/> 
<input class="submit" type="submit" value="Senden" /> 
<input class="submit" type="reset" value="Reset" /> 
</fieldset> 
</form>
 
Dein Skript funktioniert bei mir eigentlich...fast :-)

[phpf]trim[/phpf] 'me mal den Empfänger.... so eine Zeile aus einer Textdatei enthält ja auch noch Steuerzeichen, die bei einem Mail-Header recht störend sein können ;)
 
Zurück