At 15:27 10.11.2002, Oliver Witt said: --------------------[snip]-------------------- >I had it set like this: > >$fp = fopen($file, "r"); >$contents = fread($fp, $file_size); >$encoded_file = chunk_split(base64_encode($contents)); >fclose($fp); > > ... > >$body.= "\n\n--Message-Boundary\n"; >$body.= "Content-type: $file_type; name=\"$file_name\"\n"; >$body.= "Content-Transfer-Encoding: PLAINTEXT\n"; >$body.= "Content-disposition: attachment; filename=\"$file_name\"\n\n"; >$body.= "$encoded_file\n"; >$body.= "--Message-Boundary--\n"; --------------------[snip]--------------------
You must not give PLAINTEXT as encoding when you have it base64... use: Content-Transfer-Encoding: base64 BTW, "PLAINTEXT" is not a MIME recognized encoding type. Excerpt from RFC2045: --------------------[snip]-------------------- 5.2. Content-Type Defaults Default RFC 822 messages without a MIME Content-Type header are taken by this protocol to be plain text in the US-ASCII character set, which can be explicitly specified as: Content-type: text/plain; charset=us-ascii This default is assumed if no Content-Type header field is specified. It is also recommend that this default be assumed when a syntactically invalid Content-Type header field is encountered. In the presence of a MIME-Version header field and the absence of any Content-Type header field, a receiving User Agent can also assume that plain US-ASCII text was the sender's intent. Plain US-ASCII text may still be assumed in the absence of a MIME-Version or the presence of an syntactically invalid Content-Type header field, but the sender's intent might have been otherwise. 6.1. Content-Transfer-Encoding Syntax The Content-Transfer-Encoding field's value is a single token specifying the type of encoding, as enumerated below. Formally: encoding := "Content-Transfer-Encoding" ":" mechanism mechanism := "7bit" / "8bit" / "binary" / "quoted-printable" / "base64" / ietf-token / x-token These values are not case sensitive -- Base64 and BASE64 and bAsE64 are all equivalent. An encoding type of 7BIT requires that the body is already in a 7bit mail-ready representation. This is the default value -- that is, "Content-Transfer-Encoding: 7BIT" is assumed if the Content-Transfer-Encoding header field is not present. --------------------[snip]-------------------- Therefore, for plaintext headings you should use Content-type: text/plain Content-Transfer-Encoding: 7bit (or 8bit, depends) -- >O Ernest E. Vogelsinger (\) ICQ #13394035 ^ http://www.vogelsinger.at/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php