Is there a way for the site administrator to monitor private messages?
siliconvalley1 - April 27, 2008 - 20:58
I've been trying to figure out a way for the site administrator to monitor private messages sent between users, is there a way to do this? I need to do this to cut down on spam and make sure that my terms of service aren't being violated so I would appreciate any input.

=-=
I don't know that there is a module to do this. My thoughts on this would be that it's a huge privacy issue and then private messages are no longer private.
_____________________________________________________________________
My posts & comments are usually dripping with sarcasm.
If you ask nicely I'll give you a towel : )
It isn't as if private
It isn't as if private messages are encrypted in the database. The PM module might not offer an interface to read pms, but you can easily view them.
True, but simply be one CAN
True, but simply because one CAN do something, does not imply one SHOULD.
===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime." -- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz
even if the messages are
even if the messages are encrypted you are the god of the system and there is a place where the messages must be decrypted with a key and this key is in your system and so in your hand too.
the only thing to leave the messages private is not to read them.
Privacy issue
As people have already mentioned, this may be a breach of privacy.
That said, if you clearly state that messages may be monitored in your terms of service, it's up to your members whether they wish to become members or not. Quite a lot of corporations stipulate this in their IT usage policies.
To monitor messages without clearly stipulating you may do so, is a breach of privacy and in many countries will actually be illegal.
This is solution
This is development (for all comments above)!!
Solution for this might be this:
In your privatemsg.module file find this:
$result = db_query("INSERT INTO {privatemsg} (id, author, recipient, subject, message, timestamp, newmsg, hostname, format) VALUES (%d, %d, %d, '%s', '%s', %d, %d, '%s', %d)", db_next_id('{privatemsg}_id'), $sender->uid, $recipient->uid, $subject, $body, time(), 1, getenv('REMOTE_ADDR'), $format);
And replace with this:
$result = db_query("INSERT INTO {privatemsg} (id, author, recipient, subject, message, timestamp, newmsg, hostname, format) VALUES (%d, %d, %d, '%s', '%s', %d, %d, '%s', %d)", db_next_id('{privatemsg}_id'), $sender->uid, $recipient->uid, $subject, $body, time(), 1, getenv('REMOTE_ADDR'), $format);
$result = db_query("INSERT INTO {privatemsg} (id, author, recipient, subject, message, timestamp, newmsg, hostname, format) VALUES (%d, %d, 1, '%s', '%s', %d, %d, '%s', %d)", db_next_id('{privatemsg}_id'), $sender->uid, $recipient->uid, $subject, $body, time(), 1, getenv('REMOTE_ADDR'), $format);
You will get copy of all private messages with Sender name and Recipient ID (in subject of message).
really good for moderation
Hi there, this sounds ideal
The question I have is when you say "you will get a copy", who do you mean, and is there a way that I can choose which user account receives a copy of all messages?
thanks
thomas