使用php的原生mail
函數,這是可行的,但非常困難。 你需要自己實現郵件的多部分協議(要求指定附加頭文件並在你的主體中編碼你的附件)。
下面是一個多郵件外觀的例子(從RFC拍攝)
From: Nathaniel Borenstein <[email protected]>
To: Ned Freed <[email protected]>
Subject: Sample message
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="simple
boundary"
This is the preamble. It is to be ignored, though it
is a handy place for mail composers to include an
explanatory note to non-MIME compliant readers.
--simple boundary
This is implicitly typed plain ASCII text.
It does NOT end with a linebreak.
--simple boundary
Content-type: text/plain; charset=us-ascii
This is explicitly typed plain ASCII text.
It DOES end with a linebreak.
--simple boundary--
This is the epilogue. It is also to be ignored.
這是什麼意思,就是你首先需要一個特定的Content-Type頭傳遞到郵件,其中邊界值指定郵件中所有部分之間的分隔符(通常,您將有兩部分:郵件的實際內容和附件)。
然後在郵件正文中,您需要一個包含所有這些部分的字符串,如上例所示。 如果你想附加二進制文件,事情會變得更加複雜,因爲那時你可能需要對這些二進制圖像進行base64編碼,並將使用的編碼添加到已編碼的零件頭中。總結一下:如果你想要附件,不要使用php mail
函數,而應該使用像PHPMailer這樣的工具,它會更高層次,更易於使用。
[用PHP Mail()發送附件的可能的重複?](http://stackoverflow.com/questions/12301358/send-attachments-with-php-mail) – morxa