ホームページ >バックエンド開発 >PHPチュートリアル >MIMEメールを送る~~実はフォーマットについては何も分からず、OUTLOOK_PHPチュートリアルのソースコードを見ながら書きました。
class mime_mail { var $boundary0="----=_NextPart_000_00EE_01C07425.958FDFE0";//三条分界,0是附件,2是HTML,1是要附加的图片 var $boundary1="----=_NextPart_001_00EF_01C07425.958FDFE0"; var $boundary2="----=_NextPart_002_00F0_01C07425.958FDFE0"; var $body; function get_mail_header()//邮件头 { return $this->mail_header="MIME-Version: 1.0 Content-Type: multipart/mixed; border="$this->boundary0" これは MIME 形式のマルチパート メッセージです。 --$this->boundary0 Content-Type: multipart/関連; 境界="$this->boundary1"; タイプ="multipart/alternative" --$this->boundary1 コンテンツタイプ: multipart/alternative; } function str_row($str,$n)//握り文字符串分割n行,OUTLOOK中好象必须握BASE64割成$n) { $new_str.=substr($str,$i,$n). chr(13).chr(10); $i+=$n; } else { $new_str.=$str; $i=strlen($str); $new_str を返します。 } function loadfromfile($filename)//读出文件并编码 { $fp=fopen($filename,"rb"); $c=fread($fp,ファイルサイズ($ファイル名)); fclose($fp); return $this->str_row(base64_encode($c),77); } function file_header($filename)//给出文件头 { switch(substr($filename,strlen($filename)-3,3)) { case "gif": return "Content-Type: image/gif
name="$filename""; ブレーク; case "jpg"; return "Content-Type: image/jpeg
name="$filename""; ブレーク; case "txt"; return "Content-Type: text/plain
name="$filename""; ブレーク; デフォルト: return "Content-Type: application/octetstream
name="$filename""; } } function mail_body($str)//HTML部分 { $this->body.="--".$this->boundary2."
コンテンツタイプ: テキスト/html;
charset="gb2312"
".$str."
--".$this->boundary2."--
"; } function mail_picture($filename)//添付ファイルの図、HTML で使用されるこの場所に追加する必要があるかどうか、この場所で表示できないかどうか { if($filename==null) { $this->body.="--" .$this->boundary1."--
"; } for($i=0;$i