回精華區
作者PaulLiu.bbs@processor.tfcis.org (GrandPaul) 看板: plan
標題Re: [問題] 關於 RFC 2045 / RFC 2047
時間XEON (Tue, 01 Apr 2003 19:22:16 +0800 (CST)) Updated: 2003/08/16
※ -------------- mail 的部分 -------------- ※

: bmtad/Makefile 若是 FreeBSD 要改這個

freebsd:
!       .... -L../lib -ldao -lcrypt -L/usr/local/lib -liconv -export ....

: bmtad/bmtad.c

- #define ANTI_NOTMYCHARSETMAIL
+ #undef  ANTI_NOTMYCHARSETMAIL

  ...
  ...

+ static char charset[32];

static int
mta_mailer(ap)
  Agent *ap;

  ...
  ...

+     mm_getcharset(data + 13, charset, sizeof(charset));
#ifdef ANTI_NOTMYCHARSETMAIL


: bmtad/bmtad.c

    cc = mmdecode(data, decode, data);
    if (cc > 0)
      ap->used = (data - ap->data) + cc;
+   if (*charset)
+     str_conv(charset, MYCHARSET, data, cc);


: util/Makefile

freebsd:
       .... -L../lib -ldao -lcrypt  -L/usr/local/lib -liconv

: util/bbsmail.c
: util/brdmail.c  二個程式改法一樣

- #define ANTI_NOTMYCHARSETMAIL
+ #undef  ANTI_NOTMYCHARSETMAIL

  ...
  ...

  HDR mhdr;
! char buf[512], title[256], sender[256], fpath[64], charset[32],
       *str, *ptr, *family, decode;
  int fd, fx;

  ...
  ...

    if (!memcmp(buf, "Content-Type: ", 14))
    {
+      mm_getcharset(str, charset, sizeof(charset));
#ifdef ANTI_NOTMYCHARSETMAIL

  ...
  ...

  while (fgets(buf, sizeof(buf), stdin) && buf[0])
  {
    if (decode)
    {
      fd = mmdecode(buf, decode, buf);
      if (fd > 0)
        buf[fd] = '\0';
+     if (*charset)
+       str_conv(charset, MYCHARSET, buf, fd);
    }

    fputs(buf, fp);
  }
--
    ╭─ Origin ─╗ O processor.tfcis.org  ~ κλμ ─┤
    ├   Author   ╡ cnal.csie.nctu.edu.tw                    
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻