diff options
author | Arun Isaac | 2019-07-26 01:53:22 +0530 |
---|---|---|
committer | Arun Isaac | 2019-07-28 12:13:43 +0530 |
commit | ac83c2a00c13702bc365cd0f3074239fa63d743f (patch) | |
tree | d5055a15da9dba36033bb207a541ee890098f8fe /tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part | |
parent | 36474696eaa6187e7077f73d02daeb0138e03124 (diff) | |
download | guile-email-ac83c2a00c13702bc365cd0f3074239fa63d743f.tar.gz guile-email-ac83c2a00c13702bc365cd0f3074239fa63d743f.tar.lz guile-email-ac83c2a00c13702bc365cd0f3074239fa63d743f.zip |
email: Support email with mixed encoding of characters.
Prior to this, parse-email would accept email in the form of a
string. A string is constrained to use the same encoding for all its
characters whereas an email can have characters encoded using
different encoding schemes. Therefore, it is more correct that
parse-email deals with bytevectors instead of strings.
* email/utils.scm (read-bytes-till): New function.
* email/email.scm (body->mime-entities, email->headers+body,
decode-body): Deal with emails as bytevectors instead of strings.
(parse-mime-entity): Rename text argument to bv.
(parse-email, parse-email-body): Overload to handle input in the form
of a string or bytevector.
* doc/guile-email.texi (Parsing e-mail): Document overloading of
parse-email and parse-email-body.
* tests/email.scm ("handle truncated multipart message gracefully"):
Deal in bytevectors instead of strings.
("email with 8 bit encoding and non UTF-8 charset", "multipart email
with a 8 bit encoding and non UTF-8 charset part"): New tests.
* tests/email-with-8bit-encoding-and-non-utf8-charset,
tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part:
New files.
Reported-by: Jack Hill <jackhill@jackhill.us>
Diffstat (limited to 'tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part')
-rw-r--r-- | tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part b/tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part new file mode 100644 index 0000000..de340f4 --- /dev/null +++ b/tests/multipart-email-with-a-8bit-encoding-and-non-utf8-charset-part @@ -0,0 +1,13 @@ +From: John Doe <jdoe@machine.example> +To: Mary Smith <mary@example.net> +Subject: Saying Hello +Date: Fri, 21 Nov 1997 09:55:06 -0600 +Message-ID: <1234@local.machine.example> +Content-Type: multipart/mixed; boundary="boundary" + +--boundary +Content-Type: text/plain; charset=ISO-8859-7 +Content-Transfer-Encoding: 8bit + +Hello Foo˘. +--boundary--
\ No newline at end of file |