Mailinglisten-Archive |
kann mir jemand erklären, wie ich diese parameter eingeben muss, damit schlussendlich auch ein mail ankommt. habe scho viele varianten versucht, habe aber noch kein erfolg gehabt <?PHP // ------------------------------------------------------------------------- ------------------------------------- // SendEmail: // Function: Send eMail and add no (0), one (1) or more (n) attachments to the mail. // I took the Program from Bill Adams as a sample. But I do not like these OO-Programs, therefor I // did it in the old fashioned way :-) // // Call Format: SendMail(Receiver, Sender, Subject, Message [, File, Filename]) ; // Parms: Receiver : The person you wish to send the message // Sender : Your own email-address // Subject : The Email's subject // Message : The story you want to tell the Receiver // File : The Filename (including path, etc.) for the attachment you want to add (optional) // Filename : (Only) Name of the file. Will be shown to receiver (optinal) // // // Author: Rainer Leicht, conneXion Network GmbH, Wilhelm-Haas str. 6, D-70771 Leinfelden, Germany // rleicht_(at)_connexion.de // Date: Dec. 2000 // Changes : None up to now ! // ------------------------------------------------------------------------- ------------------------------------- define("XNL","\r\n") ; // CONSTANT Newline CR if (isset($MailTest)) { $Testing = "YES" ; $TestMailFile = "Mailing.txt" ; } else { $Testing = "NO" ; $TestMailFile = "none" ; } $mime_boundary = "--==================_846811060==_" ; $mimetype = "application/octet-stream" ; function SendMail($ToReceiver, $FromSender, $Subject, $MsgText, $IFile="none", $IFileName="none") { global $mimetype, $mime_boundary, $Testing, $TestMailFile ; if (!is_array($IFile)) // check for array (multiple attachments) { $File[0] = $IFile ; $FileName[0] = $IFileName ; } else for ($i=0;$i<count($IFile);$i++) { $File[$i] = $IFile[$i] ; $FileName[$i] = $IFileName[$i] ; } } $attCount = count($File) ; $attExists = FALSE ; // check if there is really an attachment for ($i=0;$i<$attCount;$i++) { if ($File[$i] != "none") { $attExists = TRUE ; } } $txtheaders = "From: ".$FromSender."\n" ; // build header for text $txtheaders .= "Reply-To: ".$FromSender."\n" ; $txtheaders .= "X-Mailer: PHP\n" ; $txtheaders .= "X-Sender: ".$FromSender."\n" ; if ($attExists) // is there an attachment { // build header for attachment $attheaders = "MIME-version: 1.0\n" ; $attheaders .= 'Content-type: multipart/mixed; boundary="'.$mime_boundary.'"'."\n" ; $attheaders .= "Content-transfer-encoding: 7BIT\n" ; $attheaders .= "X-attachments: " ; $firstAtt = TRUE ; for ($i=0;$i<$attCount;$i++) { if ($File[$i] != "none") { if ($firstAtt) { $firstAtt = FALSE ; } else { $attheaders .= "," ; } $attheaders .= $FileName[$i] ; } } $attheaders .= ";\n\n" ; // build attachment itself $attach = "" ; for ($i=0;$i<$attCount;$i++) { if ($File[$i] != "none") { $attach .= "--".$mime_boundary."\n" ; $attach .= "Content-type:".$mimetype.'; name="'.$FileName[$i].'";'."\n" ; $attach .= "Content-Transfer-Encoding: base64\n" ; $attach .= 'Content-disposition: attachment; filename="'.$FileName[$i].'"'."\n\n" ; $attach .= TextEncode($File[$i])."\n" ; } } // build message itself $message = "--".$mime_boundary."\n" ; $message .= 'Content-Type. text/plain; charset="us-ascii"'."\n\n" ; $message .= $MsgText."\n" ; } else // no attachment { $attheaders = "" ; $attach = "" ; $message = $MsgText."\n" ; // send text only } if ($Testing == "NO") { // send email mail($ToReceiver, $Subject, $message.$attach, $txtheaders.$attheaders) ; } else { $mp = fopen($TestMailFile, "w") ; fputs($mp, "TO:".$ToReceiver.XNL) ; fputs($mp, "FROM:".$FromSender.XNL) ; fputs($mp, "SUBJECT:".$Subject.XNL) ; fputs($mp, $MsgText.XNL) ; fclose($mp) ; } } // // build attachment as text conforming RFC2045 (76 char per line, end with \r\n) // function TextEncode ($FileName) { if (is_readable($FileName)) { $fp = fopen($FileName, "r") ; $cont = fread($fp, filesize($FileName)) ; $contents = base64_encode($cont) ; $len = strlen($contents) ; $str = "" ; while($len > 0) { if ($len >= 76) { $str .= substr($contents,0,76).XNL ; $contents = substr($contents, 76) ; $len = $len - 76 ; } else { $str .= $contents.XNL ; $contents = "" ; $len = 0 ; } } fclose($fp) ; } else { $str = "File ".$FileName." not found" ; } return $str ; } echo "$ToReceiver, $FromSender, $Subject, $File"; ?>
php::bar PHP Wiki - Listenarchive