• User setting to read new or unread netmail on login

    From Deucе@1:103/705 to GitLab issue in main/sbbs on Fri Dec 5 11:55:13 2025
    open https://gitlab.synchro.net/main/sbbs/-/issues/1027

    I'm trying to use the BBS interface for all netmail on my one BBS, and it's proving a bit irritating.

    Basically, it seems the options are to always ask if I want to be dumped at the mail prompt or not be able to do netmail at login, which means I need to parrot back to the BBS if there's new mail and also look at the list of all mail and pick the oldest unread one myself.

    It would be nice to have an option to read new (or unread if there's no pointer for mail) netmail at login in place of the "Read your mail now?" that works like the "Search all groups for new messages?" prompt.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 15:46:40 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7935

    Netmail, e-mail, and local mail are all treated the same when it comes logging and reading.

    If the user has unread personal mail (of any kind), they're prompted if they want read their mail upon logon. The logic is in logon.cpp (`mailw` is total mail waiting and `mailr` is the amount of already read mail waiting):
    ```
    if (text[ReadYourMailNowQ][0] && mailw) {
    if ((mailw == mailr && !noyes(text[ReadYourMailNowQ]))
    || (mailw != mailr && yesno(text[ReadYourMailNowQ]))) {
    uint32_t user_mail = useron.mail & ~MAIL_LM_MODE;
    int result = readmail(useron.number, MAIL_YOUR, useron.mail & MAIL_LM_MODE);
    user_mail |= result & MAIL_LM_MODE;
    if (user_mail != useron.mail)
    putusermail(&cfg, useron.number, useron.mail = user_mail);
    }
    }
    ```

    There are no pointers for mail, but each message its own on "read" flag, so we do know when (and how many) unread mail messages are waiting for the user.

    I'm not sure what you mean by "parrot back to the BBS".
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 15:46:53 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7935

    Netmail, e-mail, and local mail are all treated the same when it comes logging-on and reading.

    If the user has unread personal mail (of any kind), they're prompted if they want read their mail upon logon. The logic is in logon.cpp (`mailw` is total mail waiting and `mailr` is the amount of already read mail waiting):
    ```
    if (text[ReadYourMailNowQ][0] && mailw) {
    if ((mailw == mailr && !noyes(text[ReadYourMailNowQ]))
    || (mailw != mailr && yesno(text[ReadYourMailNowQ]))) {
    uint32_t user_mail = useron.mail & ~MAIL_LM_MODE;
    int result = readmail(useron.number, MAIL_YOUR, useron.mail & MAIL_LM_MODE);
    user_mail |= result & MAIL_LM_MODE;
    if (user_mail != useron.mail)
    putusermail(&cfg, useron.number, useron.mail = user_mail);
    }
    }
    ```

    There are no pointers for mail, but each message its own on "read" flag, so we do know when (and how many) unread mail messages are waiting for the user.

    I'm not sure what you mean by "parrot back to the BBS".
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 16:19:45 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7936

    I see that prompt even if all my mail is read, and it defaults to "No", so I have to say "Yes" if I get a telegram indicating I received new mail, and "No" if I did not get the telegram.

    Basically that prompt becomes "Did I just tell you there's new mail?"... hence "parrot back to the BBS".

    Then, when I do say yes, I'm given a list of all non-deleted mail, and I have to manually pick the first unread one to start reading my unread mail.

    Having a prompt that is effectively "You have new mail, do you want to read it?" which defaults to "Yes", then takes me to reading the first unread mail is basically the request.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 16:23:18 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7937

    From the code snippit it appears that the default changes based on if there's new mail or not, which was non-obvious enough that I didn't notice that.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 16:35:16 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7938

    Or even a "Search for new mail" prompt that behaves as the sub one, but only searches mail for unread messages.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Fri Dec 5 18:20:46 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7939

    Looks like `bbs.read_mail(MAIL_YOUR, user.number, LM_UNREAD|LM_NOSPAM);` is approximately what I would like the yesno() to do.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Sat Dec 6 18:08:36 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7941

    Hrm, with the new code, I see this on login:
    ```
    New e-mail from [email protected] <FreeBSD.org>
    [√] Read your mail now? No
    ```

    Reading my mail, I see this:
    ```
    Mail Waiting (oldest first):

    1 deon R TITHmailer
    2 deon TITHmailer
    3 John F Kennedy Trade War
    4 Stephen Hurd S SPAM: Just a test so you have new mail...
    5 [email protected] S SPAM: Test message #1
    6 Stephen Hurd S SPAM: Test message #2
    ```

    Which looks like five unread messages, though they may all have been fetched via POP3.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Sat Dec 6 18:09:15 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/1027#note_7942

    Not sure if there's a way to toggle "unread".

    Also, it looks like sbl.spamhous.org may have changed how the respond. :(
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)