php簡單實現(xiàn)發(fā)送帶附件的郵件
更新時間:2015年06月10日 14:47:28 作者:zhuzhao
這篇文章主要介紹了php簡單實現(xiàn)發(fā)送帶附件的郵件,涉及附件上傳及郵件發(fā)送的相關技巧,需要的朋友可以參考下
本文實例講述了php簡單實現(xiàn)發(fā)送帶附件的郵件。分享給大家供大家參考。具體如下:
下面是靜態(tài)html代碼:
<html> <head> <title>帶附件的郵件發(fā)送</title> </head> <body> <form method="post" name="form1" action="sendmail.php" ENCTYPE="multipart/form-data"> <table> <tr> <td>發(fā)送人:</td> <td><input type="text" name="from"></td> </tr> <tr> <td>收件人:</td> <td><input type="text" name="to"></td> </tr> <tr> <td>郵件主題:</td> <td><input type="text" name="subject"></td> </tr> <tr> <td>郵件內(nèi)容:</td> <td><textarea name="body"></textarea></td> </tr> <tr> <td>附件上傳:</td> <td><input type="file" name="upload_file"></td> </tr> <tr> <td span=2> <input type="submit" value="提交"> <input type="reset" value="重置"> </td> </tr> </table> </form> </body> </html>
sendmail.php文件代碼:
<?php //獲得表單信息 $from = $_POST['from']; $to = $_POST['to']; $subject = $_POST['subject']; $body = $_POST['body']; // 定義分界線 $boundary = "345894369383"; //分界線是一串無規(guī)律的字符 //設置header $header = "Content-type: multipart/mixed; boundary= $boundary/r/n"; $header .= "From:$from/r/n"; //獲得上傳文件的文件內(nèi)容 $file = $_FILES['upload_file']['tmp_name']; //確定上傳文件的MIME類型 $mimeType = $_FILES['upload_file']['type']; //獲得上傳文件的文件名 $fileName = $_FILES['upload_file']['name']; //讀取上傳文件 $fp = fopen($file, "r"); //打開文件 $read = fread($fp, filesize($file)); //讀入文件 $read = base64_encode($read); //base64編碼 $read = chunk_split($read); //切割字符串 //建立郵件的主體,分為郵件內(nèi)容和附件內(nèi)容兩部分 $body = "--$boundary Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8bit $body --$boundary Content-type: $mimeType; name=$fileName Content-disposition: attachment; filename=$fileName Content-transfer-encoding: base64 $read --$boundary--"; //發(fā)送郵件 并輸出是否發(fā)送成功的信息 if(mail($to, $subject,$body,$header)) { echo "信件發(fā)送成功"; } else { echo "信件發(fā)送失敗"; } ?>
希望本文所述對大家的php程序設計有所幫助。
相關文章
php將print_r處理后的數(shù)據(jù)還原為原始數(shù)組的解決方法
下面小編就為大家?guī)硪黄猵hp中將print_r處理后的數(shù)據(jù)還原為原始數(shù)組的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考2016-11-11PHP獲取mysql數(shù)據(jù)表的字段名稱和詳細信息的方法
這篇文章主要介紹了PHP獲取mysql數(shù)據(jù)表的字段名稱和詳細信息的方法,本文同時還給出了獲取數(shù)據(jù)表結構、列出數(shù)據(jù)庫數(shù)據(jù)表等方法,需要的朋友可以參考下2014-09-09