SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.04.2005, 05:13:18
Scope Scope ist offline
Anfänger
 
Registriert seit: Apr 2002
Ort: Deutschland
Alter: 41
Beiträge: 6
Problemme mit mail()

Hallo,

für einen Newsletter verwende ich mail() (logisch :). In testläufen, musste ich feststellen, dass mein Programm nicht fehlerfrei aber auch nicht fehlerhaft läuft.

So sieht das Programm (auszug) aus:

PHP-Code:
elseif ($_GET['do'] == 'send') {
  if (!isset(
$_POST['s'])) {
    echo 
'<form action="newsletter.php?do=send" method="post" style="margin-top: 0px; margin-bottom: 0px;"><textarea name="text" cols="156" rows="20" class="formfield"></textarea><br/><input type="submit" name="s" value="Vorschau" class="button" /> <input type="submit" name="s" value="Newsletter verschicken" class="button" /></form><p>Der Ausdruck :NAME: wird durch den, in der Datenbank vorhandenen, Namen des Empfängers ersetzt.</p>';
  }
  elseif (
$_POST['s'] == 'Vorschau') {
    echo 
'<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="800"><tr><td>';
    @include (
'../../library/newsletter/header.html');
    echo 
"<br>";
    echo 
'<div style="font-family: Arial; font-size: 12px;">'.nl2br(stripslashes($_POST['text'])).'</div>';
    echo 
"<br>";
    @include (
'../../library/newsletter/footer.html');
    echo 
'</td></tr></table><br/><br/>(Zum Editieren bzw. Versenden <a href="javascript:history.back();">zurück</a> gehen)';
  }
  elseif (
$_POST['s'] == 'Newsletter verschicken') {
    
set_time_limit(300);
    
$adressen mysql_query('SELECT `email`, `name` FROM '.$newsletter_prefix.'newsletter ');
    
$head = @file_get_contents('../../library/newsletter/header.html');
    
$foot = @file_get_contents('../../library/newsletter/footer.html');
    
$text1 stripslashes($_POST['text']);
    
$text1 str_replace("r"''$text1);
    
$text1 '<div style="font-family: Arial; font-size: 12px;">'.nl2br($text1).'</div>';
    echo 
'<!-- '$i 0;
    while (
$data mysql_fetch_array($adressenMYSQL_ASSOC)) {
      
$text = (empty($data['name'])) ? str_replace(':NAME:''Unbekannt'$text1) : str_replace(':NAME:'$data['name'], $text1);
      
mail($data['email'], $newsletter_name.date(" M Y"),$head.$text.'<br /><div style="font-family: Arial; font-size: 12px;"><hr width="100%" size="1" color="#000000" align="center" noshade>Um den Newsletter abzubestellen <a href="'.$def_webseite.'">'.$def_webseite.'</a> besuchen, Emailadresse eingeben und Austragen klicken.'.$foot"MIME-Version: 1.0rnContent-type: text/html; charset=iso-8859-1rnFrom: ".$newsletter_name." <".$def_email.">rn");
      
$i++;
      echo 
"$i$data[email], ";
    }
    echo 
'-->';
    echo 
'Newsletter verschickt.';
  }

Wichtig ist eigentlich nur die Zeile:
PHP-Code:
mail($data['email'], $newsletter_name.date(" M Y"),$head.$text.'<br /><div style="font-family: Arial; font-size: 12px;"><hr width="100%" size="1" color="#000000" align="center" noshade>Um den Newsletter abzubestellen <a href="'.$def_webseite.'">'.$def_webseite.'</a> besuchen, Emailadresse eingeben und Austragen klicken.'.$foot"MIME-Version: 1.0rnContent-type: text/html; charset=iso-8859-1rnFrom: ".$newsletter_name." <".$def_email.">rn"); 
In der Datenbank habe ich 2 verschiedene Emails eingetragen, dessen beide male ich der empfänger bin. Auf der einen Adresse kommt die Email so wie sie soll an. In der anderen kommt sie mit als Sourcecode an:

HTML-Code:
Content-type: text/html; charset=iso-8859-1

From: Development <[... ... ...]>


<div align="center">
<table border="0" bordercolor="#000000" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%">
  <tr>
    <td width="100%" align="right"><img src="http://[... ... ...]/library/newsletter/logo.jpg" border="0"></td>
  </tr>
</table>
</div><div style="font-family: Arial; font-size: 12px;">test</div><br /><div style="font-family: Arial; font-size: 12px;"><hr width="100%" size="1" color="#000000" align="center" noshade>Um den Newsletter abzubestellen <a href="http://[... ... ...]">http://[... ... ...]</a> besuchen, Emailadresse eingeben und Austragen klicken.<hr width="100%" size="1" color="#000000" align="center" noshade>
Auffälig an der Email ist, dass der "From:" fehlt. Ich habs also anschliesend (laut php.net) es mit
PHP-Code:
mail($data['email'], $newsletter_name.date(" M Y"),$head.$text.'<br /><div style="font-family: Arial; font-size: 12px;"><hr width="100%" size="1" color="#000000" align="center" noshade>Um den Newsletter abzubestellen <a href="'.$def_webseite.'">'.$def_webseite.'</a> besuchen, Emailadresse eingeben und Austragen klicken.'.$foot"MIME-Version: 1.0rnContent-type: text/html; charset=iso-8859-1rn"From".$newsletter_name." <".$def_email.">"rn"); 
versucht ("From: ".$newsletter_name." <".$def_email.">") und das Ergebniss war, das ich die Emails von annoymus bekommen habe, der Inhalt (eines richtig, eines in sourcecode) nicht geändert hat.

Hat jemand vielleicht einen Tipp was ich falsch mache?

Geändert von Scope (23.06.2009 um 22:40:25 Uhr)
Mit Zitat antworten
  #2  
Alt 03.06.2005, 14:09:57
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
AW: Problemme mit mail()

Hi Scope

Generell hab ich in deinem Script keinen Fehler gefunden.

Bei Mails kann es so viele Probs geben, so das ich genau in dieser Thematik auf eine Klasse zurückgreifen.

Um genauer zu sein auf PHPMailer
dieser ist sehr erprobt, und hält sich an alle Normen die es da so gibt.

Noch einen Tip:
wie du schon richtig gescriptet hast, setzt du ein TimeOut, davor solltest noch ein @ schreiben.

Zusätzlich kann ich dir nur empfehlen die Mail in 200-500 Pakten auszusenden, ja nach deiner Performenz des Servers.

Wenn du in dem Bereich noch weitere Infos brauchst, kannst dich gerne bei mir melden, ich hab vor kurzen so ein Tool geschrieben (ausgelegt für 10.000++ Users).
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mail() sendet mail nicht Chrone PHP Grundlagen 3 11.04.2004 13:20:07
Formular als Html Mail verschicken luckypycho PHP für Fortgeschrittene und Experten 1 17.02.2004 22:23:18
Seltsames Verhalten bei Mail mit Anhang - e-Card Funktion NightDragon PHP für Fortgeschrittene und Experten 2 22.01.2004 18:47:43
Mail versenden wenn alle Felder ausgefüllt... Swordfish PHP für Fortgeschrittene und Experten 11 05.09.2002 12:12:56
PHP mail() funktion und server probleme flobee PHP für Fortgeschrittene und Experten 0 03.07.2002 02:18:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:57:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt