I'm running PM on a closed site, the system relies on email notifications being sent out but for some reason they are not being sent at all. I'm not sure whether they leave a log entry when sent but they aren't on my site. I upgraded the module to the latest dev version but am having the same problem. Is there any way to actually check whether the modules is trying to send a message or not as without a log entry I'm not sure where it's breaking.

thanks for your help

#5 privatemsg-nonlevelslogic-1511398-5.patch1.08 KBfuzzy76
PASSED: [[SimpleTest]]: [MySQL] 3,816 pass(es). View


ptmkenny’s picture

Status: Active » Closed (cannot reproduce)

You can use the Devel module to log sent mail. Instructions here:

If you can identify steps to reproduce this problem from a clean install of Drupal 6 and Privatemsg, please update this issue.

fuzzy76’s picture

Actually, I'm seeing the same. But it only happens for users that have actually saved a preference of receiving mail (they have three lines in pm_setting, email_notify_level:1, email_notify_only_user:0, show_sender_mail:0

While users that do not have any lines in pm_setting will receive mail (as the default setting says).

Other mails from the site works fine. Sendmail logs shows no trace of any of the missing mails.

ptmkenny’s picture

Status: Closed (cannot reproduce) » Active
fuzzy76’s picture

Found it! pm_email_notify_user() does not handle users without the "set privatemsg e-mail notification level" permission properly. The form is created with a single checkbox without '#return_value' which returns 1 when checked. Then the submithandler proceeds to save that value in the database, instead of one of the "PM_EMAIL_NOTIFY_LEVEL_*" constants.

I can write a patch for it, but I am not sure I will have time until after Drupalcon Prague.

fuzzy76’s picture

Assigned: Unassigned » fuzzy76
Status: Active » Needs review
1.08 KB
PASSED: [[SimpleTest]]: [MySQL] 3,816 pass(es). View

Attached patch fixes the problem. Rolled against head of the 6.x-2.x branch. The head was actually even more broken than our old dev-snapshot. It was impossible for users to disable emails at all without the 'set privatemsg e-mail notification level' permission.

Berdir’s picture

Issue summary: View changes
Issue tags: +Needs tests

There have been way too many bugs around all that, really needs better test coverage.

ptmkenny’s picture

Title: No email notifications being received (or sent according to the log) » pm_email_notify_user() does not handle users without the "set privatemsg e-mail notification level" permission properly
Related issues: +#1908188: "Receive email notification for incoming private messages" settings does not save in account
oadaeh’s picture

Status: Needs review » Closed (won't fix)

This issue is being closed because it is against a branch for a version of Drupal that is no longer supported.
If you feel that this issue is still valid, feel free to re-open and update it (and any possible patch) to work with the 7.x-1.x branch (bug fixes only) or the 7.x-2.x branch.
Thank you.