ray Posted March 14, 2008 Report Posted March 14, 2008 Kkur netā biju redzējis skriptu, kur ar mail var nosūtīt pievienotos failus (vairākus, bet skaits nav konstants), bet vairs nevaru atrast. Varbūt kādam ir kāds labs skripts?
Zandis Murāns Posted March 14, 2008 Report Posted March 14, 2008 http://lv.php.net/mail <?php function send_mail($to, $body, $subject, $fromaddress, $fromname, $attachments=false) { $eol="\r\n"; $mime_boundary=md5(time()); # Common Headers $headers .= "From: ".$fromname."<".$fromaddress.">".$eol; $headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol; $headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol; // these two to set reply address $headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol; $headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters # Boundry for marking the split & Multitype Headers $headers .= 'MIME-Version: 1.0'.$eol.$eol; $headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol; # Open the first part of the mail $msg = "--".$mime_boundary.$eol; $htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section # Setup for text OR html - $msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol; # Text Version $msg .= "--".$htmlalt_mime_boundary.$eol; $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol; $msg .= strip_tags(str_replace("<br>", "\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol; # HTML Version $msg .= "--".$htmlalt_mime_boundary.$eol; $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol; $msg .= $body.$eol.$eol; //close the html/plain text alternate portion $msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol; if ($attachments !== false) { for($i=0; $i < count($attachments); $i++) { if (is_file($attachments[$i]["file"])) { # File for Attachment $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1)); $handle=fopen($attachments[$i]["file"], 'rb'); $f_contents=fread($handle, filesize($attachments[$i]["file"])); $f_contents=chunk_split(base64_encode($f_contents)); //Encode The Data For Transition using base64_encode(); $f_type=filetype($attachments[$i]["file"]); fclose($handle); # Attachment $msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol; // sometimes i have to send MS Word, use 'msword' instead of 'pdf' $msg .= "Content-Transfer-Encoding: base64".$eol; $msg .= "Content-Description: ".$file_name.$eol; $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !! $msg .= $f_contents.$eol.$eol; } } } # Finished $msg .= "--".$mime_boundary."--".$eol.$eol; // finish with two eol's for better security. see Injection. # SEND THE EMAIL ini_set(sendmail_from,$fromaddress); // the INI lines are to force the From Address to be used ! $mail_sent = mail($to, $subject, $msg, $headers); ini_restore(sendmail_from); return $mail_sent; } ?> ?
andrisp Posted March 14, 2008 Report Posted March 14, 2008 Lai mazāk čakara: http://sourceforge.net/projects/phpmailer
Zandis Murāns Posted March 14, 2008 Report Posted March 14, 2008 Kur ir čakars? Man atkal liekas, ka, lai saprastu, kā uzstādīt un pielietot tavu phpmaileri, ir jāčakarējas.
andrisp Posted March 14, 2008 Report Posted March 14, 2008 Zandis Murāns, dokumentācijā viss ir. To gan vajag sagūglēt.
Zandis Murāns Posted March 14, 2008 Report Posted March 14, 2008 Zajebal jau. Zandi Murān, nevis Zandis Murāns. Protams, ja vien neesi tarzāns. Tarzāns gribēt ēst. Tarzāns būt bēdīgs. :(
andrisp Posted March 14, 2008 Report Posted March 14, 2008 Jā, smieklīgi pēc velna Vienkārši šeit ir pierasts nelocīt nikus. Un pieradums ir tik liels, ka arī parasti vārdus un uzvārdus vairs nelocu.
Paulinjsh Posted March 18, 2008 Report Posted March 18, 2008 es arī failu sūtīšanai izmantotu gatavu klasi piem., http://www.phpguru.org/static/mime.mail.html
ray Posted March 18, 2008 Author Report Posted March 18, 2008 (edited) es arī failu sūtīšanai izmantotu gatavu klasi piem., http://www.phpguru.org/static/mime.mail.html pielāgoju šito klasi, itkā viss nosūtās bez eroriem, bet e-pasts nepienāk. kur un kā varētu redzēt kas par vainu? Kļuda atrisināta, nebija norādīts pareizs smtp Edited March 18, 2008 by ray
Recommended Posts