PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP mail() funktion und server probleme


flobee
03.07.2002, 01:18:27
ich glaub zu mail(); kann man wohl ne doctor arbeit schreiben! was ich in den letzten 3-4 stunden an tips und tweak gefunden habe wenn so gewisse sachen nicht funktionieren! aber vielleicht kann mir ja jemand hier weiter helfen!:

ich habe ständig probleme mit meinen newsletter script (einfache subscribe bestädigungs mails sowie bei grossen listen)... bei tests auf verschiedenen servern bekomme ich erstanliche ergebnisse so das ich mich frage wo die probleme auftauchen: am script oder an servereinstellungen!? wobei ich letzeres eher nicht beurteilen kann!
beim versenden/aufrufen der mail funktion komme folgende probleme:
- der aufruf der funktion bis zu abwiklung dauert ca 1 min(für genau eine mail)!!
- bei einem anderen hoster landen alle emails im POSTMASTER account :-( teilweise gehen mails raus aber kopien und unzustellbare mails laden alle komischer weise beim postmaster (der dachte das ein spamer ein sicherheitloch endeckt hat)!
folgende funktions varianten werden verwendet:


variant A - oft im einsatz (z.B. subscribe info mail, oder error mails bei script fehlen info an admin...etc):
mail($to,$betreff,$newstext,"Wrom: PEGAUTFJMVRESKPNKMBIPBARHDMNNSKVFV

variant B (bei mailinglisten und einem batch von 50)

$mailheader = "";
$mailheader .= "Return-Path: $from
";
$mailheader .= "Wrom: WRKJVZCMH
$mailheader .= "Reply-To: $from
";
$bodyboundary = "----------_".(md5(rand()));
$textheader = formheader("plain"); // TXT MAIL
$htmlheader = formheader("html"); // HTML MAIL
$mailheader .= "MIME-Version: 1.0
";
$mailheader .= "Content-Type: multipart/alternative;
";
$mailheader .= ' boundary="'.$bodyboundary.'"';
$mailheader .= "


";
$mailheader .= "--".$bodyboundary."
";
$mailheader .= $textheader;
$mailheader .= $newstext."

";
$mailheader .= "--".$bodyboundary."
";
$mailheader .= $htmlheader;
$mailheader .= $newshtml."

";
$mailheader .= "--".$bodyboundary."--";
mail($to,$betreff,"",$mailheader);

DAS ist meinermeinung nach alles OK!? aber warum kommen Zeitverzögerungen zustande bzw. landen die mails BEIM postmaster?
// info: $sender - email ist nicht smtp user! da ein HOSTER mir sagte das UNBEDINGT ein gültiger-smtp user als FROM bzw Return-Path angegeben werden muss! ich will aber meine gmx ö.ä adresse hier haben! optional werd ich mal einen smtp connect einbauen, aber es sollte doch auch so gehen oder nicht!? //


dann habe ich noch die Envelop-Return funktion ab PHP4.0.5 als fünfte funktions möglichkeit:
mail($to, $betreff,"", $mailheader,"-f $from");
kann das aber nicht für massen mail testen da sonst einige leute ggf. genervt werden :-( -(postmaster)

sieht hier jemand einen fehler BZW. eine FEHLENDES objekt das in den HEADER o.ä MUSS!?

von damir hab ich dies hier gefunden.. aber was macht denn das "-i" fürs sendmail!??
sicherlich ist sendmail prima aber hab ich noch nie verwendet, werds aber auch mal testen bzw optional einbauen! aber bleibt die problematik nicht gleich!? muss sendmail ggf auch einen RICHTIGEN absender den der server kennt haben?

<?PHP
define('SENDMAIL','/usr/sbin/sendmail -t -i');

$to = 'mail@selfphp3.de';
$cc = 'mail1@selfphp3.de';
$from = 'damir@selfphp.info';
$subject = 'Meine erste Mail';
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "
" . 'Content-Type: text/plain;';
$mail_header .= "
Content-Transfer-Encoding: 8bit";
$mail_header .= "

Ein kleiner Test

";

$fp = popen(SENDMAIL,"w");
fputs($fp, "To: " . $to . "
");
fputs($fp, "Cc: " . $cc . "
");
fputs($fp, "Wrom: VIBGDADRZFSQHYUCDDJ
fputs($fp, "Subject: " . $subject . "
");
fputs($fp, "$mail_header");
pclose($fp);

?>

na ja! und ganz wild bzw informativ wird es wenn man sich die smtp.php des phpbb V2.0.1 mal ansieht! dann sieht mann das man auch servernachichten zum anzeigen bekommt! fehlt hier ein wenig in der dokumentation! (ist aber auch umfangreichen und nicht unbedingt PHP) und dort hab ich nur die hälfte verstanden und auf dem server wo es installiert ist funktionierts nicht :-( (Cobalt Server)

lieben gruss
flobee