作者itoc.bbs@cpu.tfcis.org (核心動力) 看板: plan
標題拒收站外信件
時間動力核心 (2006/04/06 Thu 12:33:53) Updated: 2006/05/17
※ 引述《guessi.bbs@bbs.wretch.cc》之銘言:
> 記得以前有這function
> 請問要怎麼改 ? 讓使用者自訂是否收取站外信件
> 廣告信擋不完 但有些人只是收站內信 不想收站外信件
> 請問該怎麼做修改 ? (希望能做成喜好設定)
: ufo.h
- #define UFO_NOUSE20 BFLAG(20)
+ #define UFO_NOINCOME BFLAG(20)
: ufo.h
- #define NUMUFOS_USER 20 /* 一般使用者 可以用前 20 個 ufo */
+ #define NUMUFOS_USER 21 /* 一般使用者 可以用前 21 個 ufo */
- #define STR_UFO "-mpsnemPBQFANbwtSH-J----CHA"
+ #define STR_UFO "-mpsnemPBQFANbwtSH-JM---CHA"
: ufo.h
- "保留",
+ "拒收站外信件 (不收/要收)", /* UFO_NOINCOME */
: bmtad.c:is_rcpt()
if (!str_cmp(str, ".bbs"))
{
if (len <= IDLEN + 4)
{
+ ACCT acct;
*str = '\0';
str_lower(rcpt, rcpt);
sprintf(fpath, "usr/%c/%s/@", *rcpt, rcpt);
+ if ((len = acct_fetch(rcpt, &acct)) >= 0)
+ {
+ close(len);
+ if (acct.ufo & UFO_NOINCOME)
+ return -1;
+ }
if (dashd(fpath))
{
*letter = 1;
return 0;
}
}
}
: bbsmail.c:mail2bbs()
int fd;
FILE *fp;
+ ACCT acct;
+ usr_fpath(folder, userid, FN_ACCT);
+ if ((fd = open(folder, O_RDONLY)) >= 0)
+ {
+ read(fd, &acct, sizeof(ACCT));
+ close(fd);
+ if (acct.ufo & UFO_NOINCOME)
+ {
+ sprintf(buf, "BBS user <%s> no income mail", userid);
+ mailog(buf);
+ return EX_NOUSER;
+ }
+ }
--
=[﹎:�摃�◣��:﹎ Origin ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[ pc512-1.ee.nctu.edu.tw ]|[���插�﹊:]=