php發送郵件函數,支持html和普通文本

jphp 9年前發布 | 891 次閱讀 PHP

<?php
function send_mail($emailaddress, $fromaddress, $namefrom, $emailsubject, $body)
{
  $eol="\n";
  $mime_boundary=md5(time());

Common Headers

$headers .= "From: $namefrom <$fromaddress>".$eol; $headers .= "Reply-To: $namefrom <$fromaddress>".$eol; $headers .= "Return-Path: $namefrom <$fromaddress>".$eol; // these two to set reply address $headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$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; $headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol;

$msg = "";

Setup for text OR html

$msg .= "Content-Type: multipart/alternative".$eol;

Text Version

$msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= strip_tags(str_replace("<br>", "\n", $body)).$eol.$eol;

HTML Version

$msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= $body.$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($emailaddress, $emailsubject, $msg, $headers);

// ini_restore(sendmail_from); // echo "mail send"; return 1; }

?></pre>

 本文由用戶 jphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!