Translations of this page: en bg cs de fi fr hu it ja pl ru tr zh

Private messaging (pun_pm)

PunBB 1.3 official extension

  • Status: stable
  • Current version: 1.2.8

General idea

  • Allows users to send private messages.



  • New table pun_pm_messages
Field Type Default Description
id int(10) Auto-increment message ID.
sender_id int(10) 0 The ID of the sender in users table.
receiver_id int(10) NULL The ID of the receiver in users table.
lastedited_at int(10) 0 Timestamp of last editing.
read_at int(10) 0 Timestamp of message reading.
subject varchar(255)
body text
status varchar(9) draft One of the 'draft', 'sent', 'delivered', 'read'.
deleted_by_sender tinyint(1) 0 0 or 1. 1 - deleted by sender.
deleted_by_receiver tinyint(1) 0 0 or 1. 1 - deleted by receiver.
  • Additional fields in users table
Field Type Default Description
pun_pm_new_messages int(10) NULL Stores the cached value of new messages. Values pun_pm_new_messages >= 0 stand for the count of unread messages. pun_pm_new_messages == -1 means that user's Inbox is full. pun_pm_new_messages == NULL means the cache has been cleared and is to be regenerated (for example, when user receives a message).
pun_pm_long_subject tinyint(1) 1 0 or 1. 1 - quote the beginning of the message in message lists.
  • config values
conf_name conf_value (default)
o_pun_pm_inbox_size 100
o_pun_pm_outbox_size 100
o_pun_pm_show_new_count 1
o_pun_pm_show_global_link 0


  • Administration → Settings → Features → Private Messages
Control Type Default
Inbox limit Text input 100
Outbox limit Text input 100
Display 'New messages (N)' link at the top of every page Checkbox Yes
Put the PM Inbox link into the main navigation menu Checkbox No
  • Profile → Settings → Private messages
Control Type Default
Quote the beginning of the message in message lists Checkbox Yes
  • Viewtopic → Each post → Author → Send private message - Link to new message (Author as receiver)
  • View user's profile → Send a private message to this user
  • Private Meassaging (FIXME describe in details)
    • Inbox
    • Outbox
    • Compose message
  • Every page → Page header (near “New posts”)
    • Link to Inbox
      • There are unread messages in inbox: New messages (N)
      • Else: New messages
      • No delivered message & Inbox is full: New messages (!)
  • Main navigation menu (near 'Profile') → 'Private messages' link

Current version

pun_pm 1.0

  • IDEA: Make “Preview” button wider to make clicking it easier.
  • Hot keys: <Ctrl+Enter> to send, <Ctrl+S> to save the message (JS)
  • Option: Display first words of the message next to the subject (GMail style)
  • BBCode buttons
  • Display few usernames (those, who recently has written a message) next to the 'To' field. (JS)

Future releases

pun_pm 1.5

  • Take into account if a user have post permissions on sending PM. See the Forums post for details.
  • Flood protection (Forum post for details).
  • Option: History under the quick reply form.
    • Show recent <N> messages from and to the corresponded user.
    • Use JS to hide history by default and place the link (Show history) to show it.
  • Option: Show unread/not delivered messages number in box links (for example Inbox [ 3 ] | Outbox [ 2 ])
  • Option: Quote message in the quick reply form.
  • Option: Display few usernames (those, who recently has written a message) next to the 'To' field. (JS)

pun_pm 2.0

  • User option: E-mail notifications (on every message being unread for some period, or once a day)
  • Option: Threads (messages grouped by topic)
  • Option: 'This user is writing a letter for you'
  • Feature: Sort/filter messages*
  • Feature: Blacklist and disabling PM

pun_pm 3.0

  • Option: Ajaxify them all :-)


  • When a PM is sent, a popup screen shows as you come into the website and it says something like, “You have new messages” and then have 2 buttons “See Messages” and “Go to forum”

Feature request

  • Add a possibility to enable or disable PM for different user groups

See also



Compose message form

Personal Tools