1 ;----------------------------------------------------------------------------
2 ;-------- This sequece of HYPHEN-MINUS is 76 bytes long. --------------------
3 ;----------------------------------------------------------------------------
6 ;encode-sticked-comment-as-atom ; violate policy preventing structure
7 ;ignore-75bytes-limit ; violate RFC2047
8 ;ignore-76bytes-limit ; violate RFC2047
9 ;permit-sticked-comment ; violate RFC2047
10 ;permit-sticked-special ; violate RFC2047
11 ;separate-sticked-comment ; violate policy preserving absence of space
12 ;separate-sticked-special ; violate policy preserving absence of space
13 ;zero-characters-encoded-word-hack ; violate common sense (very tricky)
14 ;quoted-encoded-word ; violate character sequence semantics
16 ;;; test driver for FLIM-FLAM (and FLIM)
18 (defun decode (src dsts &rest opts)
19 (setq eword-lexical-analyze-cache nil)
20 (setq eword-decode-sticked-encoded-word
21 (or (memq 'permit-sticked-comment opts)
22 (memq 'permit-sticked-special opts)))
23 (setq eword-decode-quoted-encoded-word nil)
24 (if (stringp dsts) (setq dsts (list dsts)))
26 (insert src "\n" mail-header-separator)
27 (eword-decode-header 'us-ascii mail-header-separator)
28 (goto-char (point-min))
29 (std11-narrow-to-header mail-header-separator)
31 (let ((result (buffer-substring (point-min) (point))))
32 (if (member result dsts) t result))))
34 (defun encode (src dsts &rest opts)
35 (setq eword-lexical-analyze-cache nil)
36 (setq eword-decode-sticked-encoded-word nil)
37 (setq eword-decode-quoted-encoded-word nil)
38 (if (stringp dsts) (setq dsts (list dsts)))
40 (insert src "\n" mail-header-separator)
41 (goto-char (point-min))
42 (eword-encode-header 'us-ascii)
43 (goto-char (point-min))
44 (std11-narrow-to-header mail-header-separator)
46 (let ((result (buffer-substring (point-min) (point))))
47 (if (member result dsts) t result))))
54 "From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>"
55 "From: Keith Moore <moore@cs.utk.edu>")
58 "To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"
59 "To: Keld J
\e.A
\eNxrn Simonsen <keld@dkuug.dk>")
\e*B
62 "CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be>"
63 "CC: Andr
\e.A
\eNi Pirard <PIRARD@vm1.ulg.ac.be>")
\e*B
66 "Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
67 =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?="
68 "Subject: If you can read this you understand the example.")
71 "From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>"
72 "From: Olle J
\e.A
\eNdrnefors <ojarnef@admin.kth.se>")
\e*B
75 "From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>"
76 "From: Patrik F
\e.A
\eNdltstr
\eNvm <paf@nada.kth.se>")
\e*B
79 "From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
80 (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)"
81 "From: Nathaniel Borenstein <nsb@thumper.bellcore.com> (
\e.H
\eNm
\eNe
\eNl
\eNy
\eNo
\eNa
\eNi
\eNl
\eNh
\eNt
\eNp)")
\e*B
85 "From: foo@bar.baz (=?ISO-8859-1?Q?a?=)"
86 "From: foo@bar.baz (a)")
89 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= b)"
90 "From: foo@bar.baz (a b)")
93 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
94 "From: foo@bar.baz (ab)")
97 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
98 "From: foo@bar.baz (ab)")
101 "From: foo@bar.baz (=?ISO-8859-1?Q?a?=
103 "From: foo@bar.baz (ab)")
106 "From: foo@bar.baz (=?ISO-8859-1?Q?a_b?=)"
107 "From: foo@bar.baz (a b)")
110 "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
111 "From: foo@bar.baz (a b)")
114 "Subject: (=?ISO-8859-1?Q?a?=)"
115 "Subject: (=?ISO-8859-1?Q?a?=)")
118 "Subject: (=?ISO-8859-1?Q?a?= b)"
119 "Subject: (=?ISO-8859-1?Q?a?= b)")
122 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
123 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)")
126 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
127 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)")
130 "Subject: (=?ISO-8859-1?Q?a?=
132 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)")
135 "Subject: (=?ISO-8859-1?Q?a_b?=)"
136 "Subject: (=?ISO-8859-1?Q?a_b?=)")
139 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
140 "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)")
142 ;;; by akr@jaist.ac.jp
145 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
146 "From:
\e$B$"
\e(B <akr@jaist.ac.jp>")
149 "From:
\e$B$"
\e(B <akr@jaist.ac.jp>"
150 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
153 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=
155 "From:
\e$B$"$$
\e(B <akr@jaist.ac.jp>")
158 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=
159 =?ISO-2022-JP?B?GyRCJCQbKEI=?=
161 "From:
\e$B$"$$
\e(B <akr@jaist.ac.jp>")
164 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=
165 =?ISO-2022-JP?B?GyRCJCQbKEI=?=
167 "From:
\e$B$"$$
\e(B <akr@jaist.ac.jp>")
170 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?=
172 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= <akr@jaist.ac.jp>")
175 "From: akr@jaist.ac.jp
176 (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
177 "From: akr@jaist.ac.jp (
\e$B$"
\e(B\\a
\e$B$$
\e(B)")
181 "From: akr@jaist.ac.jp
182 (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
183 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)")
187 "From: akr@jaist.ac.jp
188 (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
189 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)")
193 "From: akr@jaist.ac.jp
194 (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
195 "From: akr@jaist.ac.jp (
\e$B$"
\e(B(
\e$B$$
\e(B)
\e$B$&
\e(B)"
196 'ignore-76bytes-limit)
199 "From: akr@jaist.ac.jp (
\e$B$"
\e(B(
\e$B$$
\e(B)
\e$B$&
\e(B)"
200 "From: akr@jaist.ac.jp
201 (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
202 'ignore-76bytes-limit)
206 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
207 =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=
208 =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
209 "From: akr@jaist.ac.jp (
\e$B$"
\e(B(
\e$B$$
\e(B)
\e$B$&
\e(B)")
212 "From: akr@jaist.ac.jp (
\e$B$"
\e(B(
\e$B$$
\e(B)
\e$B$&
\e(B)"
213 "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
214 =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=
215 =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
216 'zero-characters-encoded-word-hack)
220 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
221 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
224 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
225 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
228 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
229 "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
232 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
233 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
236 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
237 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
240 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
241 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
244 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
245 "From: (a)
\e$B$"
\e(B <akr@jaist.ac.jp>"
246 'permit-sticked-comment)
249 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
250 "From:
\e$B$"
\e(B(b) <akr@jaist.ac.jp>"
251 'permit-sticked-comment)
254 "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
255 "From: (a)
\e$B$"
\e(B(b) <akr@jaist.ac.jp>"
256 'permit-sticked-comment)
259 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
260 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
263 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
264 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
267 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
268 "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
271 "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>"
272 "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>")
275 "From: \"\\\"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\\\"\\\\\" <akr@jaist.ac.jp>"
276 "From: \"\\\"\\\\\"
\e$B$"
\e(B \"\\\"\\\\\" <akr@jaist.ac.jp>")
279 "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>"
280 "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>")
284 "From: =?ISO-2022-JP?Q?=1B=24BAA=1B=28B?= <akr@jaist.ac.jp>"
285 "From:
\e$BAA
\e(B <akr@jaist.ac.jp>")
288 "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>"
289 "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>")
292 "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)"
293 "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)")
296 "From: \"
\e$B$"
\e(B(
\e$B$"
\e(B)\" <akr@jaist.ac.jp>"
297 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>")
301 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
302 "From: \"
\e$B$"
\e(B(
\e$B$"
\e(B)\" <akr@jaist.ac.jp>")
305 "From:
\e$B$"
\e(B(
\e$B$"
\e(B) <akr@jaist.ac.jp>"
306 "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
307 'encode-sticked-comment-as-atom)
311 "From:
\e$B$"
\e(B(
\e$B$"
\e(B) <akr@jaist.ac.jp>"
312 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
314 'permit-sticked-comment)
318 "From:
\e$B$"
\e(B(
\e$B$"
\e(B) <akr@jaist.ac.jp>"
319 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
321 'separate-sticked-comment)
325 "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)
327 "From:
\e$B$"
\e(B(
\e$B$"
\e(B) <akr@jaist.ac.jp>"
328 'permit-sticked-comment)
331 "From: =?US-ASCII?Q?=28?= <akr@jaist.ac.jp>, =?US-ASCII?Q?=29?= <akr@jaist.ac.jp>"
332 "From: \"(\" <akr@jaist.ac.jp>, \")\" <akr@jaist.ac.jp>")
335 "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>"
336 "From: \"a\\\"b
\e$B$"
\e(Bc\\\\\" <akr@jaist.ac.jp>")
339 "From: \"a\\\"b
\e$B$"
\e(Bc\\\\\" <akr@jaist.ac.jp>"
340 "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>")
344 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
345 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
348 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
349 "To:
\e$B$"
\e(B<akr@jaist.ac.jp>"
350 'permit-sticked-special)
353 "To:
\e$B$"
\e(B<akr@jaist.ac.jp>"
354 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
355 'permit-sticked-special)
359 "To:
\e$B$"
\e(B<akr@jaist.ac.jp>"
360 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
361 'separate-sticked-special)
364 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
365 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
368 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
369 "To: <akr@jaist.ac.jp>,
\e$B$"
\e(B<akr@jaist.ac.jp>"
370 'permit-sticked-special)
373 "To: <akr@jaist.ac.jp>,
\e$B$"
\e(B<akr@jaist.ac.jp>"
374 "To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
375 'permit-sticked-special)
379 "To: <akr@jaist.ac.jp>,
\e$B$"
\e(B<akr@jaist.ac.jp>"
380 "To: <akr@jaist.ac.jp>, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
381 'separate-sticked-special)
384 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
385 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
388 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
389 "To: akr@jaist.ac.jp,
\e$B$"
\e(B<akr@jaist.ac.jp>"
390 'permit-sticked-special)
393 "To: akr@jaist.ac.jp,
\e$B$"
\e(B<akr@jaist.ac.jp>"
394 "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
395 'permit-sticked-special)
399 "To: akr@jaist.ac.jp,
\e$B$"
\e(B<akr@jaist.ac.jp>"
400 "To: akr@jaist.ac.jp, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
401 'separate-sticked-special)
404 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
405 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;")
408 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
409 "To:
\e$B$"
\e(B:akr@jaist.ac.jp;"
410 'permit-sticked-special)
413 "To:
\e$B$"
\e(B:akr@jaist.ac.jp;"
414 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
415 'permit-sticked-special)
419 "To:
\e$B$"
\e(B:akr@jaist.ac.jp;"
420 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= :akr@jaist.ac.jp;"
421 'separate-sticked-special)
425 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
426 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;")
429 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
430 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<akr@jaist.ac.jp>;"
431 'ignore-76bytes-limit 'permit-sticked-special)
434 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<akr@jaist.ac.jp>;"
435 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
436 'ignore-76bytes-limit 'permit-sticked-special)
440 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<akr@jaist.ac.jp>;"
441 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=
442 =?ISO-2022-JP?B?GyhC?=<akr@jaist.ac.jp>;"
443 'zero-characters-encoded-word-hack 'permit-sticked-special)
447 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<akr@jaist.ac.jp>;"
448 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=
450 'separate-sticked-special)
454 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
455 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>")
458 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
459 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<foo@bar>,
\e$B$&
\e(B<foo@bar>;,
\e$B$(
\e(B<foo@bar>"
460 'ignore-76bytes-limit 'permit-sticked-special)
463 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<foo@bar>,
\e$B$&
\e(B<foo@bar>;,
\e$B$(
\e(B<foo@bar>"
464 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
465 'ignore-76bytes-limit 'permit-sticked-special)
469 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<foo@bar>,
\e$B$&
\e(B<foo@bar>;,
\e$B$(
\e(B<foo@bar>"
470 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=
471 =?ISO-2022-JP?B?GyhC?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=
472 =?ISO-2022-JP?B?GyhC?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
473 'zero-characters-encoded-word-hack 'permit-sticked-special)
477 "To:
\e$B$"
\e(B:
\e$B$$
\e(B<foo@bar>,
\e$B$&
\e(B<foo@bar>;,
\e$B$(
\e(B<foo@bar>"
478 "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=
479 <foo@bar>, =?ISO-2022-JP?B?GyRCJCYbKEI=?= <foo@bar>;,
480 =?ISO-2022-JP?B?GyRCJCgbKEI=?= <foo@bar>"
481 'separate-sticked-special)
485 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?="
486 "Subject:
\e$B$"
\e(B")
489 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?="
490 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
493 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
494 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
497 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
498 "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
501 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?="
502 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
505 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
506 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
509 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
510 "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
513 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?="
514 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
517 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
518 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
521 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
522 "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
525 "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
526 "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
529 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:"
530 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:")
533 "Subject: =?ISO-2022-JP?B??="
534 "Subject: =?ISO-2022-JP?B??=")
537 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a
538 =?ISO-2022-JP?B?GyRCJCQbKEI=?="
539 "Subject:
\e$B$"
\e(B a
\e$B$$
\e(B")
542 "Subject:
\e$B0$
\e(B
\e$BR_
\e(B"
543 "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=
544 =?US-ASCII?Q?____________________________________________________________?=
545 =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=")
549 "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=
550 =?US-ASCII?Q?____________________________________________________________?=
551 =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?="
552 "Subject:
\e$B0$
\e(B
\e$BR_
\e(B")
555 "Subject:
\e$B0$
\e(B
\e$BR_
\e(B"
556 "Subject: =?ISO-2022-JP?B?GyQpQrCkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDS3w=="
557 'ignore-76bytes-limit 'ignore-75bytes-limit)
561 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?="
562 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
565 "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?="
567 'permit-sticked-special)
570 "From:
\e.A
\eN! <akr@jaist.ac.jp>"
\e*B
571 "From: =?ISO-8859-1?Q?=A1?= <akr@jaist.ac.jp>")
574 "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>"
575 "From: \"abcdefghijklmnopqrst
\e.A
\eN!()\\\"\\\\\" <akr@jaist.ac.jp>")
\e*B
578 "From: \"abcdefghijklmnopqrst
\e.A
\eN!()\\\"\\\\\" <akr@jaist.ac.jp>"
\e*B
579 "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>")
583 "From: akr@jaist.ac.jp (abcdefghijklmnopqrst
\e.A
\eN!\\(\\)\"\\\\)"
\e*B
584 "From: akr@jaist.ac.jp (=?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29\"=5C?=)")
592 "Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \""
593 "Subject: \"
\e$B$"
\e(B \"")
596 "From: \"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\" <akr@jaist.ac.jp>"
597 "From: \"\\\\\"
\e$B$"
\e(B \"\" <akr@jaist.ac.jp>")
600 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B_=1B$B$\"=1B(B?="
601 "Subject:
\e$B$"
\e(B
\e$B$"
\e(B")
604 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?="
605 "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=")
608 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?="
609 "Subject:
\e$B$"
\e(B a
\e.H
\eN`")
\e*B
612 "Subject:
\e$B$"
\e(B a
\e.H
\eN`"
\e*B
613 "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=")
616 "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
617 "Subject:
\e.H
\eN`
\e$BNm
\e(B")
\e*B
620 "Subject:
\e.H
\eN`
\e$BNm
\e(B"
\e*B
621 "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=")
625 "Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
626 "Subject:
\e.H
\eN`
\e$BNm
\e(B")
\e*B
629 "Subject:
\e.H
\eN`
\e$BNm
\e(B"
\e*B
630 '("Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
631 "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?IBskQk5tGyhC?="))
634 "Subject:
\e.F
\eNC
\e$B4X?t
\e(B"
\e*B
635 '("Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
636 "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="))
639 "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="
640 "Subject:
\e.F
\eNC
\e$B4X?t
\e(B")
\e*B
643 "Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
644 "Subject:
\e.F
\eNC
\e$B4X?t
\e(B")
\e*B
647 "Subject: =?Shift_JIS?B?gqA=?="
648 "Subject:
\e$B$"
\e(B"
649 'quoted-encoded-word)
652 "Subject: =?EUC-JP?B?pKI=?="
653 "Subject:
\e$B$"
\e(B"
654 'quoted-encoded-word)
656 ;;; quoted-encoded-word
\e$BI=8=
\e(B
658 ; RFC2047
\e$B$N%G%3!<%@$O@x:_E*$K
\e(B(
\e$B%G%3!<%I7k2L$G$J$/
\e(B) encoded-word
\e$B$=$N$b$N$r
\e(B
659 ;
\e$B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#
\e(B
661 ; 1.
\e$BCN$i$J$$
\e(B charset
\e$B$b$7$/$O
\e(B encoding
\e$B$,;XDj$5$l$F$$$?$H$-!#
\e(B
662 ; =?unknown-charset?known-encoding?some-encoded-text?=
663 ; =?known-charset?unknown-encoding?some-encoded-text?=
664 ; =?unknown-charset?unknown-encoding?some-encoded-text?=
666 ; 2.
\e$B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#
\e(B
667 ; Non ASCII
\e$B3HD%
\e(B RFC822
\e$B$NCf$K
\e(B =?US-ASCII?Q?=0D=0A=0D=0A?=
\e$B$N%G%3!<%I
\e(B
668 ;
\e$B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#
\e(B
670 ;
\e$B$^$?!"%G%3!<%@$O
\e(B encoded-word
\e$B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1
\e(B
671 ;
\e$B$l$P$J$i$J$$$3$H$b$"$k!#
\e(B
673 ; =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?=
675 ;
\e$B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$d$k$H
\e(B encoded-word
\e$B$=$N$b$N$H
\e(B
676 ; encoded-word
\e$B$r6hJL$G$-$J$$!#
\e(B
677 ;
\e$B$3$3$G$OJ8;zNsCf$G$=$l$i$r3N<B$K6hJL$7$FI=8=$9$kJ}K!$r<($9!#
\e(B
679 ; rule 1:
\e$BJ8;zNsCf$G
\e(B =?charset?encoding?text?=
\e$B$H$$$&%Q%?!<%s$K
\e(B
680 ;
\e$B%^%C%A$7$J$$ItJ,$O$=$NItJ,$N$^$^$NFbMF$rI=$9!#
\e(B
682 ; rule 2:
\e$BJ8;zNsCf$G
\e(B =?charset?encoding?text?=
\e$B$H$$$&%Q%?!<%s$K
\e(B
683 ;
\e$B%^%C%A$9$kItJ,$O
\e(B charset
\e$B$N@hF,$K
\e(B '*'
\e$B$,$$$/$DIU$$$F$$$k$+$GFbMF$N
\e(B
684 ;
\e$B2r<a$rJQ$($k!#
\e(B
686 ;
\e$B6v?t$N>l9g
\e(B(0, 2, 4, ...): charset
\e$B$N@hF,$N
\e(B '*'
\e$B$N?t$rH>J,$K$7$?J8;zNs
\e(B
687 ;
\e$B4q?t$N>l9g
\e(B(1, 3, 5, ...): charset
\e$B$N@hF,$N
\e(B '*'
\e$B$N?t$rH>J,
\e(B(
\e$B>.?tE@0J2<
\e(B
688 ;
\e$B@Z<N$F
\e(B)
\e$B$K$7$F!"$=$l$r
\e(B encoded-word
\e$B$H;W$C$F%G%3!<%I$7$?J8;zNs!#
\e(B
690 ; NOTE: '*'
\e$B$r
\e(B quoted-encoded-word
\e$BI=8=$N
\e(B quote
\e$BJ8;z$H8F$V!#
\e(B
692 ; NOTE:
\e$B8=;~E@$G
\e(B IANA
\e$B$N%l%8%9%H%j$K$O
\e(B '*'
\e$B$r4^$`
\e(B charset
\e$B$O
\e(B
693 ;
\e$BEPO?$5$l$F$$$J$$$N$G!"EPO?$5$l$F$$$k
\e(B charset
\e$B$r;H$C$?
\e(B encoded-word
\e$B$r
\e(B
694 ;
\e$BI=8=$9$k$K$O
\e(B '*'
\e$B$r
\e(B 1
\e$B$D$D$1$k$3$H$K$J$k!#
\e(B
696 ; =?US-ASCII?Q?abcdef?=
\e$B$H$$$&
\e(Bencoded-word : =?*US-ASCII?Q?abcdef?=
698 ; =?US-ASCII?Q?abcdef?=
\e$B$H$$$&J8;zNs
\e(B : =?US-ASCII?Q?abcdef?=
699 ; =?*US-ASCII?Q?abcdef?=
\e$B$H$$$&J8;zNs
\e(B : =?**US-ASCII?Q?abcdef?=
700 ; =?**US-ASCII?Q?abcdef?=
\e$B$H$$$&J8;zNs
\e(B : =?****US-ASCII?Q?abcdef?=
701 ; =?***US-ASCII?Q?abcdef?=
\e$B$H$$$&J8;zNs
\e(B : =?******US-ASCII?Q?abcdef?=
703 ; rule 3:
\e$BJ8;zNsA4BN$NFbMF$O!"
\e(Brule 1
\e$B$H
\e(B rule 2
\e$B$G2r<a$7$?3FItJ,$N
\e(B
704 ;
\e$BJ8;zNs$rC1=c$KO"7k$7$?J8;zNs$H$9$k!#
\e(B
706 ; NOTE: RFC2047
\e$B$G$O
\e(B encoded-word
\e$B$,6uGr$G6h@Z$i$l$J$1$l$P$J$i$J$$$H$+!"
\e(B
707 ; encoded-word
\e$B$,4^$^$l$k9T$O
\e(B 76bytes
\e$B0J2<$G$J$1$l$P$J$i$J$$$J$I$H$$$&
\e(B
708 ;
\e$B5,Ls$,$"$k$,!"
\e(Bquoted-encoded-word
\e$BI=8=$G$O$=$l$i$O:NMQ$7$J$$!#
\e(B
709 ;
\e$BC1=c$K
\e(B encoded-word
\e$BFbIt$NJ8K!$@$1$rMxMQ$9$k!#
\e(B
710 ; (
\e$BK\<AE*$K$O0[$J$kJ8K!$r:NMQ$9$k$3$H$b2DG=$G$"$k!#
\e(B)
712 ; NOTE: quoted-encoded-word
\e$BI=8=$7$?J8;zNs$NO"7k$O0BA4$G$O$J$$!#
\e(B
713 ; =?*US-ASCII?Q?ab
\e$B$H
\e(B cd?=
\e$B$H$$$&
\e(B quoted-encoded-word
\e$BI=8=$7$?J8;zNs$O
\e(B
714 ;
\e$B$=$l$>$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs
\e(B
715 ; =?*US-ASCII?Q?abcd?=
\e$B$O
\e(B abcd
\e$B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"
\e(B
716 ;
\e$B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#
\e(B
718 ;
\e$B$3$l$O$H$/$K
\e(B Non ASCII
\e$B3HD%
\e(B RFC822
\e$B$NCf$K
\e(B quoted-encoded-word
\e$BI=8=$r
\e(B
719 ;
\e$BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#
\e(B(
\e$BKd$a9~$s$@7k2L$O@5$7$$
\e(B
720 ; quoted-encoded-word
\e$BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#
\e(B)
724 "Subject: =?Unknown-Charset?B?gqA=?="
725 "Subject: =?*Unknown-Charset?B?gqA=?="
726 'quoted-encoded-word)
730 "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?="
731 "Subject: =?*Unknown-Charset?B?gqA=?==?*Unknown-Charset?B?gqA=?="
732 'quoted-encoded-word)
736 "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?="
737 "Subject: =?*Unknown-Charset?B?gqA=?==?*Unknown-Charset?B?gqA=?="
738 'quoted-encoded-word)
742 "Subject: =?Unknown-Charset?B?gqA=?=
743 =?Unknown-Charset?B?gqA=?="
744 "Subject: =?*Unknown-Charset?B?gqA=?==?*Unknown-Charset?B?gqA=?="
745 'quoted-encoded-word)
749 "Subject: =?Unknown-Charset?B?gqA=?=
750 =?Unknown-Charset?B?gqA=?="
751 "Subject: =?*Unknown-Charset?B?gqA=?==?*Unknown-Charset?B?gqA=?="
752 'quoted-encoded-word)
756 "Subject: a=?Unknown-Charset?B?gqA=?="
757 "Subject: a=?Unknown-Charset?B?gqA=?="
758 'quoted-encoded-word)
762 "Subject: =?Unknown-Charset?B?gqA=?=b"
763 "Subject: =?Unknown-Charset?B?gqA=?=b"
764 'quoted-encoded-word)
768 "Subject: a=?Unknown-Charset?B?gqA=?=b"
769 "Subject: a=?Unknown-Charset?B?gqA=?=b"
770 'quoted-encoded-word)
774 "Subject: a =?Unknown-Charset?B?gqA=?= b"
775 "Subject: a =?*Unknown-Charset?B?gqA=?= b"
776 'quoted-encoded-word)
780 "Subject: =?ISO-2022-JP?B?DQoNCg==?="
781 "Subject: =?*US-ASCII?Q?=0D=0A=0D=0A?="
782 'quoted-encoded-word)
786 "Subject: =?US-ASCII?Q?a=0D=0A_b?="
787 "Subject: a=?*US-ASCII?Q?=0D=0A?= b"
788 'quoted-encoded-word)
793 ;----------------------------------------------------------------------------